v1.4.0: Monatsfilter, Pagination, Rollenverwaltung, DB-Bereinigung
- Liste: Monatsfilter mit ←/→ Navigation, Standard = aktueller Monat - Liste: Pagination (10 Einträge/Seite) - BEO-Auswahl filtert nur role='guide' - logbuch_objekte: ObjektName entfernt, JOIN auf objekte - utf8mb4 Migration und DB-Charset-Umstellung - SSH-Tunnel-Support: MySQL auf 127.0.0.1:3336 - phpMyAdmin unter /myadmin Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+10
@@ -0,0 +1,10 @@
|
|||||||
|
### Zugriff zur Datenbank:
|
||||||
|
|
||||||
|
Die Remote-Datenbank auf logbuch.fuerst-.stuttgart.de wird zum lokalen entwickeln über einen SSH-Tunner erreicht:
|
||||||
|
|
||||||
|
~~~
|
||||||
|
ssh -L 3336:localhost:3336 rxf@logbuch.fuerst-stuttgart.de -N
|
||||||
|
~~~
|
||||||
|
|
||||||
|
Dieser ist vor dem Starten des Programme einmal einzurichten!!
|
||||||
|
|
||||||
+1
-1
@@ -157,7 +157,7 @@ export default function MainClient({ kuerzel, beoId, beoName }: Props) {
|
|||||||
kuppel={activeKuppel}
|
kuppel={activeKuppel}
|
||||||
refreshKey={refreshKey}
|
refreshKey={refreshKey}
|
||||||
onEdit={handleEdit}
|
onEdit={handleEdit}
|
||||||
limit={20}
|
limit={15}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@@ -25,11 +25,30 @@ const LIST_SQL =
|
|||||||
export async function GET(request: NextRequest) {
|
export async function GET(request: NextRequest) {
|
||||||
const { searchParams } = new URL(request.url);
|
const { searchParams } = new URL(request.url);
|
||||||
const kuppel = searchParams.get('kuppel') || 'West';
|
const kuppel = searchParams.get('kuppel') || 'West';
|
||||||
const limit = Math.min(parseInt(searchParams.get('limit') || '20'), 100);
|
const limit = Math.min(parseInt(searchParams.get('limit') || '10'), 100);
|
||||||
|
const offset = Math.max(0, parseInt(searchParams.get('offset') || '0'));
|
||||||
|
const month = searchParams.get('month') || '';
|
||||||
|
|
||||||
|
let listWhere = 'WHERE l.Kuppel = ?';
|
||||||
|
let countWhere = 'WHERE Kuppel = ?';
|
||||||
|
let params: (string | number | null)[] = [kuppel];
|
||||||
|
if (month && /^\d{4}-\d{2}$/.test(month)) {
|
||||||
|
const [y, m] = month.split('-').map(Number);
|
||||||
|
const start = `${y}-${String(m).padStart(2, '0')}-01`;
|
||||||
|
const nextM = m === 12 ? 1 : m + 1;
|
||||||
|
const nextY = m === 12 ? y + 1 : y;
|
||||||
|
const end = `${nextY}-${String(nextM).padStart(2, '0')}-01`;
|
||||||
|
listWhere += ' AND l.Beginn >= ? AND l.Beginn < ?';
|
||||||
|
countWhere += ' AND Beginn >= ? AND Beginn < ?';
|
||||||
|
params = [kuppel, start, end];
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const rows = await query(LIST_SQL + ` LIMIT ${limit}`, [kuppel]);
|
const [countRows, entries] = await Promise.all([
|
||||||
return NextResponse.json(rows);
|
query('SELECT COUNT(*) AS total FROM logbuch ' + countWhere, params) as Promise<{ total: number }[]>,
|
||||||
|
query(LIST_SQL.replace('WHERE l.Kuppel = ?', listWhere) + ` LIMIT ${limit} OFFSET ${offset}`, params),
|
||||||
|
]);
|
||||||
|
return NextResponse.json({ entries, total: (countRows as unknown as { total: number }[])[0]?.total ?? 0 });
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('GET /api/logbuch:', error);
|
console.error('GET /api/logbuch:', error);
|
||||||
return NextResponse.json({ error: 'Datenbankfehler' }, { status: 500 });
|
return NextResponse.json({ error: 'Datenbankfehler' }, { status: 500 });
|
||||||
|
|||||||
+101
-35
@@ -13,6 +13,28 @@ interface Props {
|
|||||||
|
|
||||||
const pad = (n: number) => String(n).padStart(2, '0');
|
const pad = (n: number) => String(n).padStart(2, '0');
|
||||||
|
|
||||||
|
const MONATE = ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'];
|
||||||
|
|
||||||
|
function currentMonth() {
|
||||||
|
const d = new Date();
|
||||||
|
return `${d.getFullYear()}-${pad(d.getMonth() + 1)}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
function monthLabel(ym: string) {
|
||||||
|
const [y, m] = ym.split('-').map(Number);
|
||||||
|
return `${MONATE[m - 1]} ${y}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
function prevMonth(ym: string) {
|
||||||
|
const [y, m] = ym.split('-').map(Number);
|
||||||
|
return m === 1 ? `${y - 1}-12` : `${y}-${pad(m - 1)}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
function nextMonth(ym: string) {
|
||||||
|
const [y, m] = ym.split('-').map(Number);
|
||||||
|
return m === 12 ? `${y + 1}-01` : `${y}-${pad(m + 1)}`;
|
||||||
|
}
|
||||||
|
|
||||||
function formatDate(dt: string, short = false): string {
|
function formatDate(dt: string, short = false): string {
|
||||||
if (!dt) return '';
|
if (!dt) return '';
|
||||||
const d = new Date(dt);
|
const d = new Date(dt);
|
||||||
@@ -28,25 +50,34 @@ function formatTime(dt: string): string {
|
|||||||
return `${pad(d.getHours())}:${pad(d.getMinutes())}`;
|
return `${pad(d.getHours())}:${pad(d.getMinutes())}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function LogbuchList({ kuppel, refreshKey, onEdit, limit = 20, compact = false }: Props) {
|
export default function LogbuchList({ kuppel, refreshKey, onEdit, limit = 10, compact = false }: Props) {
|
||||||
const [entries, setEntries] = useState<LogbuchEintrag[]>([]);
|
const [entries, setEntries] = useState<LogbuchEintrag[]>([]);
|
||||||
|
const [total, setTotal] = useState(0);
|
||||||
|
const [page, setPage] = useState(0);
|
||||||
|
const [month, setMonth] = useState(compact ? '' : currentMonth());
|
||||||
const [loading, setLoading] = useState(true);
|
const [loading, setLoading] = useState(true);
|
||||||
const [deleteId, setDeleteId] = useState<number | null>(null);
|
const [deleteId, setDeleteId] = useState<number | null>(null);
|
||||||
const [error, setError] = useState('');
|
const [error, setError] = useState('');
|
||||||
|
|
||||||
|
useEffect(() => { setPage(0); }, [kuppel, refreshKey, month]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setLoading(true);
|
setLoading(true);
|
||||||
fetch(`/api/logbuch?kuppel=${encodeURIComponent(kuppel)}&limit=${limit}`)
|
const offset = page * limit;
|
||||||
|
const url = `/api/logbuch?kuppel=${encodeURIComponent(kuppel)}&limit=${limit}&offset=${offset}` +
|
||||||
|
(month ? `&month=${encodeURIComponent(month)}` : '');
|
||||||
|
fetch(url)
|
||||||
.then((r) => { if (!r.ok) throw new Error(); return r.json(); })
|
.then((r) => { if (!r.ok) throw new Error(); return r.json(); })
|
||||||
.then((data) => { setEntries(data); setLoading(false); })
|
.then((data) => { setEntries(data.entries); setTotal(data.total); setLoading(false); })
|
||||||
.catch(() => { setError('Fehler beim Laden.'); setLoading(false); });
|
.catch(() => { setError('Fehler beim Laden.'); setLoading(false); });
|
||||||
}, [kuppel, refreshKey, limit]);
|
}, [kuppel, refreshKey, limit, page, month]);
|
||||||
|
|
||||||
async function confirmDelete(id: number) {
|
async function confirmDelete(id: number) {
|
||||||
try {
|
try {
|
||||||
const res = await fetch(`/api/logbuch/${id}`, { method: 'DELETE' });
|
const res = await fetch(`/api/logbuch/${id}`, { method: 'DELETE' });
|
||||||
if (!res.ok) throw new Error();
|
if (!res.ok) throw new Error();
|
||||||
setEntries((prev) => prev.filter((e) => e.ID !== id));
|
setEntries((prev) => prev.filter((e) => e.ID !== id));
|
||||||
|
setTotal((t) => t - 1);
|
||||||
} catch {
|
} catch {
|
||||||
setError('Fehler beim Löschen.');
|
setError('Fehler beim Löschen.');
|
||||||
} finally {
|
} finally {
|
||||||
@@ -54,9 +85,39 @@ export default function LogbuchList({ kuppel, refreshKey, onEdit, limit = 20, co
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (loading) return <div className="text-gray-500 text-sm py-4">Lade Einträge...</div>;
|
const monthNav = !compact && (
|
||||||
if (error) return <div className="text-red-600 text-sm py-4">{error}</div>;
|
<div className="flex items-center gap-2 mb-3 print:hidden">
|
||||||
if (entries.length === 0) return <div className="text-gray-500 text-sm py-4">Keine Einträge vorhanden.</div>;
|
<button
|
||||||
|
onClick={() => setMonth((m) => prevMonth(m))}
|
||||||
|
className="px-2 py-1 text-sm rounded-lg bg-gray-200 hover:bg-gray-300"
|
||||||
|
>←</button>
|
||||||
|
<input
|
||||||
|
type="month"
|
||||||
|
value={month}
|
||||||
|
onChange={(e) => setMonth(e.target.value)}
|
||||||
|
className="border border-gray-300 rounded-lg px-2 py-1 text-sm"
|
||||||
|
/>
|
||||||
|
<button
|
||||||
|
onClick={() => setMonth((m) => nextMonth(m))}
|
||||||
|
disabled={month >= currentMonth()}
|
||||||
|
className="px-2 py-1 text-sm rounded-lg bg-gray-200 hover:bg-gray-300 disabled:opacity-40 disabled:cursor-not-allowed"
|
||||||
|
>→</button>
|
||||||
|
{month !== currentMonth() && (
|
||||||
|
<button
|
||||||
|
onClick={() => setMonth(currentMonth())}
|
||||||
|
className="text-sm text-blue-600 hover:underline"
|
||||||
|
>
|
||||||
|
Aktueller Monat
|
||||||
|
</button>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
|
||||||
|
const printHeader = !compact && (
|
||||||
|
<div className="hidden print:block mb-3 text-sm font-semibold">
|
||||||
|
Monat: {monthLabel(month)}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
|
||||||
const cell = compact
|
const cell = compact
|
||||||
? 'px-1.5 py-1 border border-gray-200 text-xs'
|
? 'px-1.5 py-1 border border-gray-200 text-xs'
|
||||||
@@ -65,8 +126,13 @@ export default function LogbuchList({ kuppel, refreshKey, onEdit, limit = 20, co
|
|||||||
? 'px-1.5 py-1 border border-gray-300 text-xs font-semibold'
|
? 'px-1.5 py-1 border border-gray-300 text-xs font-semibold'
|
||||||
: 'px-3 py-2 border border-gray-300';
|
: 'px-3 py-2 border border-gray-300';
|
||||||
|
|
||||||
|
if (loading) return <>{monthNav}<div className="text-gray-500 text-sm py-4">Lade Einträge...</div></>;
|
||||||
|
if (error) return <>{monthNav}<div className="text-red-600 text-sm py-4">{error}</div></>;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
|
{monthNav}
|
||||||
|
{printHeader}
|
||||||
<div className="overflow-x-auto">
|
<div className="overflow-x-auto">
|
||||||
<table className="w-full border-collapse" style={{ fontSize: compact ? '0.75rem' : '0.875rem' }}>
|
<table className="w-full border-collapse" style={{ fontSize: compact ? '0.75rem' : '0.875rem' }}>
|
||||||
<thead>
|
<thead>
|
||||||
@@ -90,7 +156,13 @@ export default function LogbuchList({ kuppel, refreshKey, onEdit, limit = 20, co
|
|||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{entries.map((e) => (
|
{entries.length === 0 ? (
|
||||||
|
<tr>
|
||||||
|
<td colSpan={compact ? 7 : 10} className="px-3 py-4 text-gray-500 text-sm text-center">
|
||||||
|
Keine Einträge für {monthLabel(month)}.
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
) : entries.map((e) => (
|
||||||
<tr key={e.ID} className="hover:bg-gray-50">
|
<tr key={e.ID} className="hover:bg-gray-50">
|
||||||
<td className={`${cell} whitespace-nowrap`}>{formatDate(e.Beginn, compact)}</td>
|
<td className={`${cell} whitespace-nowrap`}>{formatDate(e.Beginn, compact)}</td>
|
||||||
{compact ? (
|
{compact ? (
|
||||||
@@ -112,9 +184,7 @@ export default function LogbuchList({ kuppel, refreshKey, onEdit, limit = 20, co
|
|||||||
<td className={`${cell} text-center`}>{e.Besucher || ''}</td>
|
<td className={`${cell} text-center`}>{e.Besucher || ''}</td>
|
||||||
<td className={cell}>{e.BEOs || '—'}</td>
|
<td className={cell}>{e.BEOs || '—'}</td>
|
||||||
<td className={cell}>{e.Objekte || '—'}</td>
|
<td className={cell}>{e.Objekte || '—'}</td>
|
||||||
{!compact && (
|
{!compact && <td className={cell}>{e.Bemerkungen || ''}</td>}
|
||||||
<td className={cell}>{e.Bemerkungen || ''}</td>
|
|
||||||
)}
|
|
||||||
{!compact && (
|
{!compact && (
|
||||||
<td className={cell}>
|
<td className={cell}>
|
||||||
{e.WetterTemp !== null && (
|
{e.WetterTemp !== null && (
|
||||||
@@ -127,18 +197,8 @@ export default function LogbuchList({ kuppel, refreshKey, onEdit, limit = 20, co
|
|||||||
</td>
|
</td>
|
||||||
)}
|
)}
|
||||||
<td className={`${cell} text-center whitespace-nowrap print:hidden`}>
|
<td className={`${cell} text-center whitespace-nowrap print:hidden`}>
|
||||||
<button
|
<button onClick={() => onEdit(e)} className="text-blue-600 hover:text-blue-800 mr-2 font-medium">✎</button>
|
||||||
onClick={() => onEdit(e)}
|
<button onClick={() => setDeleteId(e.ID)} className="text-red-600 hover:text-red-800 font-medium">✕</button>
|
||||||
className="text-blue-600 hover:text-blue-800 mr-2 font-medium"
|
|
||||||
>
|
|
||||||
✎
|
|
||||||
</button>
|
|
||||||
<button
|
|
||||||
onClick={() => setDeleteId(e.ID)}
|
|
||||||
className="text-red-600 hover:text-red-800 font-medium"
|
|
||||||
>
|
|
||||||
✕
|
|
||||||
</button>
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
))}
|
))}
|
||||||
@@ -146,24 +206,30 @@ export default function LogbuchList({ kuppel, refreshKey, onEdit, limit = 20, co
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{!compact && total > limit && (
|
||||||
|
<div className="flex items-center justify-center gap-3 mt-3 print:hidden">
|
||||||
|
<button
|
||||||
|
onClick={() => setPage((p) => p - 1)}
|
||||||
|
disabled={page === 0}
|
||||||
|
className="px-3 py-1.5 text-sm rounded-lg bg-gray-200 hover:bg-gray-300 disabled:opacity-40 disabled:cursor-not-allowed"
|
||||||
|
>← Zurück</button>
|
||||||
|
<span className="text-sm text-gray-600">Seite {page + 1} von {Math.ceil(total / limit)}</span>
|
||||||
|
<button
|
||||||
|
onClick={() => setPage((p) => p + 1)}
|
||||||
|
disabled={(page + 1) * limit >= total}
|
||||||
|
className="px-3 py-1.5 text-sm rounded-lg bg-gray-200 hover:bg-gray-300 disabled:opacity-40 disabled:cursor-not-allowed"
|
||||||
|
>Weiter →</button>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
|
||||||
{deleteId !== null && (
|
{deleteId !== null && (
|
||||||
<div className="fixed inset-0 bg-black/40 flex items-center justify-center z-50">
|
<div className="fixed inset-0 bg-black/40 flex items-center justify-center z-50">
|
||||||
<div className="bg-white rounded-xl shadow-xl p-6 max-w-sm w-full mx-4">
|
<div className="bg-white rounded-xl shadow-xl p-6 max-w-sm w-full mx-4">
|
||||||
<h3 className="text-lg font-semibold mb-3">Eintrag löschen?</h3>
|
<h3 className="text-lg font-semibold mb-3">Eintrag löschen?</h3>
|
||||||
<p className="text-sm text-gray-600 mb-5">Dieser Eintrag wird unwiderruflich gelöscht.</p>
|
<p className="text-sm text-gray-600 mb-5">Dieser Eintrag wird unwiderruflich gelöscht.</p>
|
||||||
<div className="flex gap-3 justify-end">
|
<div className="flex gap-3 justify-end">
|
||||||
<button
|
<button onClick={() => setDeleteId(null)} className="px-4 py-2 bg-gray-200 hover:bg-gray-300 text-gray-700 rounded-lg text-sm">Abbrechen</button>
|
||||||
onClick={() => setDeleteId(null)}
|
<button onClick={() => confirmDelete(deleteId)} className="px-4 py-2 bg-red-600 hover:bg-red-700 text-white rounded-lg text-sm">Löschen</button>
|
||||||
className="px-4 py-2 bg-gray-200 hover:bg-gray-300 text-gray-700 rounded-lg text-sm"
|
|
||||||
>
|
|
||||||
Abbrechen
|
|
||||||
</button>
|
|
||||||
<button
|
|
||||||
onClick={() => confirmDelete(deleteId)}
|
|
||||||
className="px-4 py-2 bg-red-600 hover:bg-red-700 text-white rounded-lg text-sm"
|
|
||||||
>
|
|
||||||
Löschen
|
|
||||||
</button>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,28 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# Erstellt einen SQL-Dump der 5 App-Tabellen aus dem lokalen logbuch_mysql-Container.
|
|
||||||
# Die Datei logbuch_dump.sql dann auf den Server kopieren und dort server_import.sh ausführen.
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
CONTAINER="logbuch_mysql"
|
|
||||||
DB="sternwarte"
|
|
||||||
ROOT_PASS="SFluorit"
|
|
||||||
TABLES="beos objekte logbuch logbuch_beos logbuch_objekte"
|
|
||||||
OUTFILE="logbuch_dump.sql"
|
|
||||||
|
|
||||||
echo "Exportiere Tabellen aus '$CONTAINER'..."
|
|
||||||
docker exec "$CONTAINER" mysqldump \
|
|
||||||
-u root -p"$ROOT_PASS" \
|
|
||||||
--single-transaction \
|
|
||||||
--no-tablespaces \
|
|
||||||
"$DB" $TABLES > "$OUTFILE"
|
|
||||||
|
|
||||||
echo "Dump gespeichert: $OUTFILE ($(wc -c < "$OUTFILE" | tr -d ' ') Bytes)"
|
|
||||||
echo ""
|
|
||||||
echo "Nächste Schritte:"
|
|
||||||
echo " scp $OUTFILE user@server:/opt/logbuch/"
|
|
||||||
echo " scp docker-compose.prod.yml user@server:/opt/logbuch/"
|
|
||||||
echo " scp .env.prod.example user@server:/opt/logbuch/.env.prod"
|
|
||||||
echo " # Auf dem Server: .env.prod befüllen, dann:"
|
|
||||||
echo " # docker-compose -f docker-compose.prod.yml --env-file .env.prod up -d"
|
|
||||||
echo " # ./server_import.sh"
|
|
||||||
+12
-10
@@ -43,6 +43,7 @@ CREATE TABLE `beos` (
|
|||||||
`bemerkung` varchar(50) DEFAULT NULL,
|
`bemerkung` varchar(50) DEFAULT NULL,
|
||||||
`pw` varchar(70) DEFAULT NULL,
|
`pw` varchar(70) DEFAULT NULL,
|
||||||
`MustChangePassword` tinyint(1) DEFAULT '1',
|
`MustChangePassword` tinyint(1) DEFAULT '1',
|
||||||
|
`role` varchar(255) DEFAULT NULL,
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
@@ -53,7 +54,7 @@ CREATE TABLE `beos` (
|
|||||||
|
|
||||||
LOCK TABLES `beos` WRITE;
|
LOCK TABLES `beos` WRITE;
|
||||||
/*!40000 ALTER TABLE `beos` DISABLE KEYS */;
|
/*!40000 ALTER TABLE `beos` DISABLE KEYS */;
|
||||||
INSERT INTO `beos` VALUES (1,'Brückner','Steffen','Brü','Hegelstr. 10','71093','Weil im Schönbuch','brueckner@ccdastro.de',NULL,'070312627550',NULL,NULL,'070312627551',NULL,'m',2,'Mi II,Sa A',NULL,NULL,0),(2,'Dschida','Hans','HD','Rain 5','73660','Urbach','hansdschida1@gmail.com',NULL,'0718184322','015575359828','07195142599',NULL,NULL,'m',21,'Mi I,Sa C',NULL,'$2b$10$9EqDIW7xyTGsNE0NJqt5Pef1p/9C8FMj1tRfO0JPYkFaKouPey95W',0),(5,'Ess','Andrea','Ess','Beethovenweg 8','73630','Remshalden','andrea.ess@t-online.de',NULL,'071512703929',NULL,'07151566486',NULL,NULL,'w',NULL,NULL,NULL,NULL,0),(6,'Förnzler','Ulrich','Fö','Ober Str. 12','7ß190','Stuttgart','papa.foernzler@gmx.de',NULL,'07112865188','01778239801',NULL,NULL,NULL,'m',12,NULL,NULL,NULL,0),(7,'Fürst','Reinhard','rxf','Forststr. 66a','70176','Stuttgart','rexfue@gmail.com',NULL,'07116369409','01713129481',NULL,NULL,'','m',4,'Mo I,Sa C',NULL,'$2b$10$nmpF4s1rgeVF.6o1Nv7nk.OvAlcEJKsrAWeiqgESyBcKtvxw0fZNS',0),(8,'Gertz','Martin','MG','Buhlstr. 39/1','71384','Weinstadt','martin.gertz@gmx.de','martin.gertz@stihl.de','071519459521','015788298545','07151262545','071512682545',NULL,'m',5,'Sa B','HOBS',NULL,0),(9,'Meyer-Hamme','Olaf','MH','Eichenweg 29','73650','Winterbach','olaf.meyer-hamme@gmx.de',NULL,'071814808656','015221962790','07181977050',NULL,NULL,'m',22,'Mi II,Sa C',NULL,NULL,0),(10,'Idler','Rudolf','ID','Stettener Str. 26/1','71394','Kernen','r.idler@freenet.de',NULL,NULL,'01782097963','07119576017',NULL,NULL,'m',11,'Sa A',NULL,NULL,0),(11,'Nikolaizig','Jörg','JN','Grundweinberge 22','71642','Ludwigsburg','joniko@web.de',NULL,'07141257447','015122894226','071316444249',NULL,NULL,'m',10,'Mo II,Sa A',NULL,NULL,0),(15,'Weishaar','Christoph','CW','Leintelstr. 48','71336','Waiblingen-Bittenfeld','erfinderwerkstatt@t-online.de','c.weishaar@pilz.de ','071462840172',NULL,'07113409216','07113409434',NULL,'m',7,'Mi I,Sa B',NULL,'$2b$10$wSc60txkGL8cvNEZeF8IS.Yzfm8xvM1yJ/EbbRJRI5GkK3ERpkesW',0),(16,'Zoller','Matthias','Zo','Rosenstr. 49','71063','Sindelfingen','mazoller@gmx.de',NULL,'07031876466','01713752637','071197242618',NULL,NULL,'m',8,'Mo II,Sa A',NULL,NULL,0),(17,'Keller','Hans-Ulrich','HUK','Planetarium','','Stuttgart','hans-ulrich.keller@stuttgart.de','planetarium@stuttgart.de','07114403350',NULL,'07111629226','07112163912',NULL,'m',1,NULL,NULL,NULL,0),(18,'Gräber','Hubert','HHG','Im Brunnengarten 20','73630','Remshalden','hubert.graeber@t-online.de',NULL,'0718141612',NULL,NULL,'0718146145',NULL,'m',6,'Mo I,Sa C',NULL,NULL,0),(19,'Mitterhuber','Markus','MM','Robert-Koch-Str. 132','70565','Stuttgart','st155087@stud.uni-stuttgart.de','markusmitterhuber@outlook.de',NULL,'016092976568',NULL,NULL,NULL,'m',14,'Sa B',NULL,NULL,0),(20,'Schneider','Eva','ES','Baumblüte 20','73642','Welzheim','schneider-welzheim@t-online.de',NULL,'07182935424','01727168353',NULL,NULL,NULL,'w',NULL,'Sa B',NULL,NULL,0),(21,'Güssmann','Marc','GM','Spreeweg 8','71522','Backnang','marcguessmann@aol.com',NULL,' 071911873059',NULL,'0711951341200',NULL,NULL,'m',18,'Mo I,Sa A',NULL,NULL,0),(22,'Recknagel','Malin','MR','Stöcklestr. 36','72070','Tübingen ','malin.recknagel@freenet.de',NULL,NULL,'015776638250',NULL,NULL,NULL,'w',9,'','hat sich aus der Gruppe abgemeldet',NULL,0),(23,'Schuler','Bernd','SC','','','','bkschuler@gmail.com',NULL,NULL,NULL,NULL,NULL,NULL,'m',NULL,'Mo I,Sa C',NULL,NULL,0),(24,'Riedl','Christoph','RC','Schillerstr. 30','73773','Aichwald','wp.riedl@my-steuerberatung.com',NULL,'',NULL,'0711 4116772','0711 4116773',NULL,'m',NULL,NULL,NULL,NULL,0),(25,'Nastos','Xeno','XN','','','','XNastos@t-online.de',NULL,NULL,NULL,NULL,NULL,NULL,'m',NULL,'Mi II,Sa B',NULL,NULL,0),(26,'Bernhard','Ralf','RB','Alpenrosenstr. 22','70563','Stuttgart','ralf_bernhard@web.de',NULL,'0711 4204151',NULL,NULL,NULL,NULL,'m',11,'Mo II,Sa A',NULL,NULL,0);
|
INSERT INTO `beos` VALUES (1,'Brückner','Steffen','Brü','Hegelstr. 10','71093','Weil im Schönbuch','brueckner@ccdastro.de',NULL,'070312627550',NULL,NULL,'070312627551',NULL,'m',2,'Mi II,Sa A',NULL,NULL,0,'guide, key'),(2,'Dschida','Hans','HD','Rain 5','73660','Urbach','hansdschida1@gmail.com',NULL,'0718184322','015575359828','07195142599',NULL,NULL,'m',21,'Mi I,Sa C',NULL,'$2b$10$AvNL4FSmTrD6.TfC3D5Y7uD8Erl1fShtpxy9FqajohRkwb6h1F1uS',0,'guide, key'),(5,'Ess','Andrea','Ess','Beethovenweg 8','73630','Remshalden','andrea.ess@t-online.de',NULL,'071512703929',NULL,'07151566486',NULL,NULL,'w',NULL,NULL,NULL,NULL,0,'guide'),(6,'Förnzler','Ulrich','Fö','Ober Str. 12','7ß190','Stuttgart','papa.foernzler@gmx.de',NULL,'07112865188','01778239801',NULL,NULL,NULL,'m',12,NULL,NULL,NULL,0,'key'),(7,'Fürst','Reinhard','rxf','Forststr. 66a','70176','Stuttgart','rexfue@gmail.com',NULL,'07116369409','01713129481',NULL,NULL,'','m',4,'Mo I,Sa C',NULL,'$2b$10$nmpF4s1rgeVF.6o1Nv7nk.OvAlcEJKsrAWeiqgESyBcKtvxw0fZNS',0,'guide, key, admin'),(8,'Gertz','Martin','MG','Buhlstr. 39/1','71384','Weinstadt','martin.gertz@gmx.de','martin.gertz@stihl.de','071519459521','015788298545','07151262545','071512682545',NULL,'m',5,'Sa B','HOBS','$2b$10$OWIMz/AFBURTz428C7CvB.NUXo2OuGfAU3nuGl/S.DESYeKcoIugm',0,'guide, key'),(9,'Meyer-Hamme','Olaf','MH','Eichenweg 29','73650','Winterbach','olaf.meyer-hamme@gmx.de',NULL,'071814808656','015221962790','07181977050',NULL,NULL,'m',22,'Mi II,Sa C',NULL,NULL,0,'guide, key'),(10,'Idler','Rudolf','ID','Stettener Str. 26/1','71394','Kernen','r.idler@freenet.de',NULL,NULL,'01782097963','07119576017',NULL,NULL,'m',11,'Sa A',NULL,NULL,0,'key'),(11,'Nikolaizig','Jörg','JN','Grundweinberge 22','71642','Ludwigsburg','joniko@web.de',NULL,'07141257447','015122894226','071316444249',NULL,NULL,'m',10,'Mo II,Sa A',NULL,'$2b$10$issn3Zd2Jp959ujM61S5gewaQPZzmEb7jSDyqVAMsCTYvCdNpNdkq',0,'guide, key'),(15,'Weishaar','Christoph','CW','Leintelstr. 48','71336','Waiblingen-Bittenfeld','erfinderwerkstatt@t-online.de','c.weishaar@pilz.de ','071462840172',NULL,'07113409216','07113409434',NULL,'m',7,'Mi I,Sa B',NULL,'$2b$10$wSc60txkGL8cvNEZeF8IS.Yzfm8xvM1yJ/EbbRJRI5GkK3ERpkesW',0,'guide, key'),(16,'Zoller','Matthias','Zo','Rosenstr. 49','71063','Sindelfingen','mazoller@gmx.de',NULL,'07031876466','01713752637','071197242618',NULL,NULL,'m',8,'Mo II,Sa A',NULL,NULL,0,'guide, key'),(17,'Keller','Hans-Ulrich','HUK','Planetarium','','Stuttgart','hans-ulrich.keller@stuttgart.de','planetarium@stuttgart.de','07114403350',NULL,'07111629226','07112163912',NULL,'m',1,NULL,NULL,'$2b$10$tyMkggLaVOwZMsetcFExK.kTjOATYWg0zBPp/BGVHy84CaCf7hIfa',0,'guide, key'),(18,'Gräber','Hubert','HHG','Im Brunnengarten 20','73630','Remshalden','hubert.graeber@t-online.de',NULL,'0718141612',NULL,NULL,'0718146145',NULL,'m',6,'Mo I,Sa C',NULL,'$2b$10$v.kI/NKI7jnhBGizQlagcOOyp679fBI2vcZ6d/ZF6htn9KAIgY176',0,'guide, key'),(19,'Mitterhuber','Markus','MM','Robert-Koch-Str. 132','70565','Stuttgart','st155087@stud.uni-stuttgart.de','markusmitterhuber@outlook.de',NULL,'016092976568',NULL,NULL,NULL,'m',14,'Sa B',NULL,NULL,0,'deleted'),(20,'Schneider','Eva','ES','Baumblüte 20','73642','Welzheim','schneider-welzheim@t-online.de',NULL,'07182935424','01727168353',NULL,NULL,NULL,'w',NULL,'Sa B',NULL,NULL,0,'guide, key'),(21,'Güssmann','Marc','GM','Spreeweg 8','71522','Backnang','marcguessmann@aol.com',NULL,' 071911873059',NULL,'0711951341200',NULL,NULL,'m',18,'Mo I,Sa A',NULL,'$2b$10$JJ3t80P.Km8FVtZKmiXpYuXEnzGSHLrvln3CGsCGidzJ2BKFMElLy',0,'guide, key'),(22,'Recknagel','Malin','MR','Stöcklestr. 36','72070','Tübingen ','malin.recknagel@freenet.de',NULL,NULL,'015776638250',NULL,NULL,NULL,'w',9,'','hat sich aus der Gruppe abgemeldet',NULL,0,'deleted'),(23,'Schuler','Bernd','SC','','','','bkschuler@gmail.com',NULL,NULL,NULL,NULL,NULL,NULL,'m',NULL,'Mo I,Sa C',NULL,NULL,0,'guide'),(24,'Riedl','Christoph','RC','Schillerstr. 30','73773','Aichwald','wp.riedl@my-steuerberatung.com',NULL,'',NULL,'0711 4116772','0711 4116773',NULL,'m',NULL,NULL,NULL,NULL,0,NULL),(25,'Nastos','Xeno','XN','','','','XNastos@t-online.de',NULL,NULL,NULL,NULL,NULL,NULL,'m',NULL,'Mi II,Sa B',NULL,'$2b$10$wkwvzkZqhLJ8He2jXW9Ttu88I61f3JbghsRRIM0Dm7guxKRIY7EBC',0,'guide'),(26,'Bernhard','Ralf','RB','Alpenrosenstr. 22','70563','Stuttgart','ralf_bernhard@web.de',NULL,'0711 4204151',NULL,NULL,NULL,NULL,'m',11,'Mo II,Sa A',NULL,'$2b$10$n/YFHBS1EJoZP8W1JwT9XOKH9bW6V.UvGNOBHDtKHa/Bq8krtTBla',0,'guide, key');
|
||||||
/*!40000 ALTER TABLE `beos` ENABLE KEYS */;
|
/*!40000 ALTER TABLE `beos` ENABLE KEYS */;
|
||||||
UNLOCK TABLES;
|
UNLOCK TABLES;
|
||||||
|
|
||||||
@@ -71,7 +72,7 @@ CREATE TABLE `objekte` (
|
|||||||
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
|
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
PRIMARY KEY (`ID`),
|
PRIMARY KEY (`ID`),
|
||||||
UNIQUE KEY `Name` (`Name`)
|
UNIQUE KEY `Name` (`Name`)
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
--
|
--
|
||||||
@@ -80,7 +81,7 @@ CREATE TABLE `objekte` (
|
|||||||
|
|
||||||
LOCK TABLES `objekte` WRITE;
|
LOCK TABLES `objekte` WRITE;
|
||||||
/*!40000 ALTER TABLE `objekte` DISABLE KEYS */;
|
/*!40000 ALTER TABLE `objekte` DISABLE KEYS */;
|
||||||
INSERT INTO `objekte` VALUES (1,'Mond','2026-04-29 08:07:16','2026-04-27 15:44:00'),(2,'Jupiter','2026-04-29 08:07:16','2026-04-27 15:44:00'),(3,'M57','2026-04-28 11:39:17','2026-04-27 15:44:00'),(4,'Abend Stern','2026-04-28 11:35:55','2026-04-27 15:56:24'),(5,'eps Lyr','2026-04-27 18:34:44','2026-04-27 18:17:16'),(6,'beta Cyg','2026-04-28 11:39:17','2026-04-27 18:34:44'),(7,'M31','2026-04-28 11:39:17','2026-04-28 11:39:17'),(8,'M45','2026-04-29 08:07:16','2026-04-29 07:59:50'),(9,'Saturn','2026-04-29 08:07:16','2026-04-29 08:06:16'),(10,'M42','2026-04-29 08:07:16','2026-04-29 08:06:16'),(11,'alp Ori','2026-04-29 08:06:16','2026-04-29 08:06:16'),(12,'alpha Ori','2026-04-29 08:07:16','2026-04-29 08:07:16');
|
INSERT INTO `objekte` VALUES (1,'Mond','2026-05-03 19:14:28','2026-04-27 15:44:00'),(2,'Jupiter','2026-05-03 19:27:25','2026-04-27 15:44:00'),(3,'M57','2026-05-03 16:40:23','2026-04-27 15:44:00'),(4,'Abend Stern','2026-04-28 11:35:55','2026-04-27 15:56:24'),(5,'eps Lyr','2026-04-27 18:34:44','2026-04-27 18:17:16'),(6,'beta Cyg','2026-04-28 11:39:17','2026-04-27 18:34:44'),(7,'M31','2026-05-03 16:47:00','2026-04-28 11:39:17'),(8,'M45','2026-05-03 19:27:25','2026-04-29 07:59:50'),(9,'Saturn','2026-05-02 08:07:36','2026-04-29 08:06:16'),(10,'M42','2026-05-03 19:27:25','2026-04-29 08:06:16'),(11,'alp Ori','2026-04-29 08:06:16','2026-04-29 08:06:16'),(12,'alpha Ori','2026-04-29 08:07:16','2026-04-29 08:07:16'),(13,'M44','2026-05-02 07:21:11','2026-05-01 07:29:14'),(14,'M82','2026-05-03 19:27:25','2026-05-01 07:39:27'),(15,'gam Leo','2026-05-03 19:19:41','2026-05-01 07:46:06'),(16,'chi+kap Per','2026-05-02 08:07:36','2026-05-01 07:46:06'),(17,'Sternbilder','2026-05-03 19:27:25','2026-05-01 07:46:06'),(18,'Uranus','2026-05-02 08:01:04','2026-05-02 07:57:26'),(19,'M81','2026-05-03 19:27:25','2026-05-02 07:57:26'),(20,'M37','2026-05-02 08:01:04','2026-05-02 08:01:04'),(21,'ISS','2026-05-02 08:01:04','2026-05-02 08:01:04'),(22,'NGC2392','2026-05-03 19:19:41','2026-05-03 16:34:25'),(23,'M1','2026-05-03 16:40:23','2026-05-03 16:34:25'),(24,'Mars','2026-05-03 16:40:23','2026-05-03 16:34:25'),(25,'Neptun','2026-05-03 19:14:28','2026-05-03 19:14:28'),(26,'Venus','2026-05-03 19:14:28','2026-05-03 19:14:28'),(27,'M97','2026-05-03 19:19:41','2026-05-03 19:16:32'),(28,'M3','2026-05-03 19:19:41','2026-05-03 19:16:32'),(29,'M13','2026-05-03 19:27:25','2026-05-03 19:25:42'),(30,'M35','2026-05-03 19:27:25','2026-05-03 19:25:42');
|
||||||
/*!40000 ALTER TABLE `objekte` ENABLE KEYS */;
|
/*!40000 ALTER TABLE `objekte` ENABLE KEYS */;
|
||||||
UNLOCK TABLES;
|
UNLOCK TABLES;
|
||||||
|
|
||||||
@@ -104,10 +105,11 @@ CREATE TABLE `logbuch` (
|
|||||||
`WetterDruck` decimal(7,1) DEFAULT NULL,
|
`WetterDruck` decimal(7,1) DEFAULT NULL,
|
||||||
`created_by` int DEFAULT NULL,
|
`created_by` int DEFAULT NULL,
|
||||||
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
|
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
`SonderName` varchar(200) DEFAULT NULL,
|
||||||
PRIMARY KEY (`ID`),
|
PRIMARY KEY (`ID`),
|
||||||
KEY `created_by` (`created_by`),
|
KEY `created_by` (`created_by`),
|
||||||
CONSTRAINT `logbuch_ibfk_1` FOREIGN KEY (`created_by`) REFERENCES `beos` (`id`)
|
CONSTRAINT `logbuch_ibfk_1` FOREIGN KEY (`created_by`) REFERENCES `beos` (`id`)
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
) ENGINE=InnoDB AUTO_INCREMENT=49 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
--
|
--
|
||||||
@@ -116,7 +118,7 @@ CREATE TABLE `logbuch` (
|
|||||||
|
|
||||||
LOCK TABLES `logbuch` WRITE;
|
LOCK TABLES `logbuch` WRITE;
|
||||||
/*!40000 ALTER TABLE `logbuch` DISABLE KEYS */;
|
/*!40000 ALTER TABLE `logbuch` DISABLE KEYS */;
|
||||||
INSERT INTO `logbuch` VALUES (1,'West','RF','2026-04-27 20:00:00','2026-04-27 22:00:00',22,'Test\n',15.7,68.6,1006.3,7,'2026-04-27 15:44:00'),(2,'West','RF','2026-04-27 17:44:00','2026-04-27 17:44:00',0,NULL,11.6,89.0,1016.6,7,'2026-04-27 15:45:19'),(3,'West','RF','2026-04-27 17:52:00','2026-04-27 17:52:00',22,NULL,22.8,55.1,993.8,7,'2026-04-27 15:56:24'),(4,'West','RF','2026-04-27 18:06:00','2026-04-27 18:06:00',6,NULL,11.0,67.2,1002.7,7,'2026-04-27 16:06:59'),(5,'West','RF','2026-04-27 20:16:00','2026-04-27 20:16:00',1,NULL,20.3,67.9,1014.8,2,'2026-04-27 18:17:16'),(6,'West','RF','2026-04-28 09:45:00','2026-04-28 09:00:00',0,NULL,12.2,83.1,1017.1,2,'2026-04-28 07:00:01'),(8,'West','RF','2026-04-28 09:15:00','2026-04-28 09:15:00',0,NULL,9.6,56.8,1000.3,2,'2026-04-28 07:02:13'),(9,'West','RF','2026-04-28 09:15:00','2026-04-28 09:15:00',0,NULL,9.6,56.8,1000.3,2,'2026-04-28 07:02:41'),(14,'Pluto','Beob','2024-01-10 18:30:00','2024-01-10 23:00:00',0,NULL,16.4,43.4,1015.3,15,'2026-04-29 07:59:50'),(15,'West','Sonst','2024-01-20 18:00:00','2024-01-20 19:45:00',3,'Private Führung',8.5,53.0,1001.2,2,'2026-04-29 08:06:16');
|
INSERT INTO `logbuch` VALUES (16,'West','RF','2026-03-02 19:45:00','2026-03-02 21:45:00',25,NULL,7.0,85.0,1024.0,7,'2026-05-01 07:24:33',NULL),(17,'West','BEOS','2026-03-03 20:00:00','2026-03-03 21:30:00',0,NULL,0.0,0.0,0.0,18,'2026-05-01 07:26:45',NULL),(18,'West','RF','2026-03-04 19:45:00','2026-03-04 21:40:00',15,NULL,7.0,71.0,71.0,15,'2026-05-01 07:29:14',NULL),(19,'West','TD','2026-03-07 14:00:00','2026-03-07 17:00:00',0,'Techniktag - WK\n- Rolladenkasten gereinigt\n- USB- und LAN-Kabel für die Montierung eingezogen\n- Umalufzwischenraum gereinigt\n',16.0,43.0,1022.0,8,'2026-05-01 07:33:38',NULL),(20,'West','RF','2026-03-07 20:00:00','2026-03-07 22:00:00',21,NULL,8.0,66.0,1023.0,26,'2026-05-01 07:39:27',NULL),(21,'West','SF','2026-03-08 19:00:00','2026-03-08 21:00:00',4,NULL,10.0,68.0,1023.0,2,'2026-05-01 07:46:06',NULL),(23,'West','Beob','2026-03-12 22:30:00','2026-03-12 23:20:00',0,'Aufnahme Jupiter',6.0,77.0,1020.0,25,'2026-05-01 08:57:31',NULL),(26,'West','SF','2026-03-17 20:00:00','2026-03-17 21:30:00',25,'Vortrag und Einrichtung gezeigt',5.0,90.0,1023.0,8,'2026-05-02 07:48:27','Landfrauen'),(27,'West','RF','2026-03-18 19:30:00','2026-03-18 22:10:00',24,NULL,7.0,77.0,1023.0,15,'2026-05-02 07:57:26',NULL),(28,'West','SF','2026-03-19 19:30:00','2026-03-19 22:00:00',9,NULL,6.0,61.0,1021.0,2,'2026-05-02 08:07:36','Rene Leucht'),(32,'West','SF','2026-03-22 19:30:00','2026-03-22 22:20:00',4,NULL,6.0,64.0,1014.0,2,'2026-05-03 16:34:25','Kroboth'),(33,'West','TD','2026-03-23 19:30:00','2026-03-23 21:50:00',0,'Gespräch mit Installateuren der Fa. Günther für Splitgeräte, Spendenkasse und Schlüssel mitgenommen',9.0,69.0,1018.0,18,'2026-05-03 16:37:01',NULL),(34,'West','TD','2026-03-24 13:00:00','2026-03-24 14:00:00',0,'Lichtprojekt mit Fa. Helmer und Wölftl (Stadt. Welzheim)',16.0,49.0,1020.0,18,'2026-05-03 16:38:54',NULL),(35,'West','TD','2026-03-25 18:00:00','2026-03-25 19:00:00',0,'Kühlschrank und Drucker gekennzeichnet. Div. Aufräumarbeiten',2.0,92.0,1006.0,18,'2026-05-03 16:42:51',NULL),(36,'West','TD','2026-03-27 10:00:00','2026-03-27 12:00:00',0,'Splitgeräte ans WLAN. Account eingerichtet. Allsky lässt sich nicht betreiben, hängt.NAS in der OK funktioniert nicht. Unterstützung durch die Herren Wölfl und Scheibner',1.0,78.0,1024.0,18,'2026-05-03 16:45:05',NULL),(37,'West','RF','2026-03-23 19:30:00','2026-03-23 21:50:00',4,NULL,8.0,51.0,1022.0,2,'2026-05-03 16:47:00',NULL),(38,'West','Sonst','2026-03-28 15:30:00','2026-03-28 15:40:00',0,'Reinigungsmittel zur Sternwarte gebracht',0.0,0.0,0.0,8,'2026-05-03 16:48:32',NULL),(39,'West','ToT','2026-03-28 15:45:00','2026-03-28 17:00:00',0,NULL,1.0,92.0,1020.0,11,'2026-05-03 16:50:38',NULL),(40,'West','TD','2026-03-29 14:30:00','2026-03-29 16:00:00',1,'Inspektion',7.0,60.0,1026.0,17,'2026-05-03 18:23:39',NULL),(41,'West','TD','2026-03-29 16:30:00','2026-03-29 18:00:00',0,'NAS wieder gestarte, allg. Inspektion. Besprechung HUK Büro. Wetterstaion abgebaut. AllSky wieder funktionfähig gemcht, Spendekasse an e.Schneider übergebn',0.0,0.0,0.0,7,'2026-05-03 18:30:14',NULL),(43,'West','TD','2026-04-01 09:30:00','2026-04-01 12:30:00',0,'Weitere BEO: Sh (Silvia Schidhuber) WK-Steuerraum und Seminarraum gereinigt und ausgemistet',22.1,0.0,1010.0,2,'2026-05-03 18:35:47',NULL),(44,'West','RF','2026-03-01 21:00:00','2026-03-01 22:40:00',0,'Keine Besucher eingetragen !',22.2,0.0,1010.0,2,'2026-05-03 19:14:28',NULL),(45,'West','RF','2026-03-04 22:00:00','2026-03-04 23:35:00',2,NULL,22.2,0.0,1010.0,2,'2026-05-03 19:16:32',NULL),(46,'West','RF','2026-04-04 22:00:00','2026-04-04 23:35:00',2,NULL,10.1,0.0,994.0,2,'2026-05-03 19:19:41',NULL),(47,'West','SF','2026-04-07 21:00:00','2026-04-07 23:00:00',0,'keine Besucher eingetragen !',8.2,0.0,996.0,21,'2026-05-03 19:25:42','eigene Schüler'),(48,'West','RF','2026-04-08 21:00:00','2026-04-08 22:30:00',0,'Keine Besucher eingetragen',15.6,0.0,1014.0,15,'2026-05-03 19:27:04',NULL);
|
||||||
/*!40000 ALTER TABLE `logbuch` ENABLE KEYS */;
|
/*!40000 ALTER TABLE `logbuch` ENABLE KEYS */;
|
||||||
UNLOCK TABLES;
|
UNLOCK TABLES;
|
||||||
|
|
||||||
@@ -136,7 +138,7 @@ CREATE TABLE `logbuch_beos` (
|
|||||||
KEY `BeoID` (`BeoID`),
|
KEY `BeoID` (`BeoID`),
|
||||||
CONSTRAINT `logbuch_beos_ibfk_1` FOREIGN KEY (`LogbuchID`) REFERENCES `logbuch` (`ID`) ON DELETE CASCADE,
|
CONSTRAINT `logbuch_beos_ibfk_1` FOREIGN KEY (`LogbuchID`) REFERENCES `logbuch` (`ID`) ON DELETE CASCADE,
|
||||||
CONSTRAINT `logbuch_beos_ibfk_2` FOREIGN KEY (`BeoID`) REFERENCES `beos` (`id`)
|
CONSTRAINT `logbuch_beos_ibfk_2` FOREIGN KEY (`BeoID`) REFERENCES `beos` (`id`)
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
) ENGINE=InnoDB AUTO_INCREMENT=139 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
--
|
--
|
||||||
@@ -145,7 +147,7 @@ CREATE TABLE `logbuch_beos` (
|
|||||||
|
|
||||||
LOCK TABLES `logbuch_beos` WRITE;
|
LOCK TABLES `logbuch_beos` WRITE;
|
||||||
/*!40000 ALTER TABLE `logbuch_beos` DISABLE KEYS */;
|
/*!40000 ALTER TABLE `logbuch_beos` DISABLE KEYS */;
|
||||||
INSERT INTO `logbuch_beos` VALUES (1,1,7),(2,1,2),(3,1,23),(4,2,7),(5,2,21),(6,3,7),(7,3,9),(8,4,7),(9,4,15),(11,5,2),(12,6,2),(14,8,2),(15,9,2),(38,14,15),(40,15,2);
|
INSERT INTO `logbuch_beos` VALUES (76,16,23),(77,16,7),(78,17,23),(79,17,24),(80,17,17),(81,17,18),(82,17,8),(83,17,9),(84,17,26),(85,17,25),(87,18,15),(88,18,25),(89,19,5),(90,19,8),(91,19,26),(92,19,25),(93,20,26),(94,20,25),(95,21,2),(96,23,25),(105,27,15),(106,27,9),(107,26,5),(108,26,8),(109,28,2),(115,34,18),(116,33,18),(117,32,2),(118,35,18),(119,36,18),(120,37,2),(122,39,11),(123,40,17),(124,41,7),(125,41,2),(126,41,18),(127,38,8),(129,43,2),(130,43,18),(131,44,2),(132,44,25),(133,45,2),(134,46,2),(136,48,15),(137,48,25),(138,47,21);
|
||||||
/*!40000 ALTER TABLE `logbuch_beos` ENABLE KEYS */;
|
/*!40000 ALTER TABLE `logbuch_beos` ENABLE KEYS */;
|
||||||
UNLOCK TABLES;
|
UNLOCK TABLES;
|
||||||
|
|
||||||
@@ -166,7 +168,7 @@ CREATE TABLE `logbuch_objekte` (
|
|||||||
KEY `ObjektID` (`ObjektID`),
|
KEY `ObjektID` (`ObjektID`),
|
||||||
CONSTRAINT `logbuch_objekte_ibfk_1` FOREIGN KEY (`LogbuchID`) REFERENCES `logbuch` (`ID`) ON DELETE CASCADE,
|
CONSTRAINT `logbuch_objekte_ibfk_1` FOREIGN KEY (`LogbuchID`) REFERENCES `logbuch` (`ID`) ON DELETE CASCADE,
|
||||||
CONSTRAINT `logbuch_objekte_ibfk_2` FOREIGN KEY (`ObjektID`) REFERENCES `objekte` (`ID`)
|
CONSTRAINT `logbuch_objekte_ibfk_2` FOREIGN KEY (`ObjektID`) REFERENCES `objekte` (`ID`)
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
) ENGINE=InnoDB AUTO_INCREMENT=175 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
--
|
--
|
||||||
@@ -175,7 +177,7 @@ CREATE TABLE `logbuch_objekte` (
|
|||||||
|
|
||||||
LOCK TABLES `logbuch_objekte` WRITE;
|
LOCK TABLES `logbuch_objekte` WRITE;
|
||||||
/*!40000 ALTER TABLE `logbuch_objekte` DISABLE KEYS */;
|
/*!40000 ALTER TABLE `logbuch_objekte` DISABLE KEYS */;
|
||||||
INSERT INTO `logbuch_objekte` VALUES (1,1,1,'Mond'),(2,1,2,'Jupiter'),(3,1,3,'M57'),(4,2,2,'Jupiter'),(5,3,4,'Abend Stern'),(6,4,4,'Abend Stern'),(7,4,3,'M57'),(10,5,4,'Abend Stern'),(11,5,5,'eps Lyr'),(12,5,1,'Mond'),(13,5,6,'beta Cyg'),(19,14,8,'M45'),(26,15,2,'Jupiter'),(27,15,10,'M42'),(28,15,8,'M45'),(29,15,1,'Mond'),(30,15,9,'Saturn'),(31,15,12,'alpha Ori');
|
INSERT INTO `logbuch_objekte` VALUES (55,16,2,'Jupiter'),(56,16,10,'M42'),(57,16,8,'M45'),(58,16,1,'Mond'),(59,18,2,'Jupiter'),(60,18,10,'M42'),(61,18,13,'M44'),(62,20,2,'Jupiter'),(63,20,10,'M42'),(64,20,8,'M45'),(65,20,14,'M82'),(66,21,16,'chi+kap Per'),(67,21,15,'gam Leo'),(68,21,2,'Jupiter'),(69,21,7,'M31'),(70,21,10,'M42'),(71,21,8,'M45'),(72,21,14,'M82'),(73,21,17,'Sternbilder'),(74,23,2,'Jupiter'),(85,27,2,'Jupiter'),(86,27,7,'M31'),(87,27,10,'M42'),(88,27,8,'M45'),(89,27,17,'Sternbilder'),(90,27,18,'Uranus'),(91,27,20,'M37'),(92,27,21,'ISS'),(93,28,15,'gam Leo'),(94,28,8,'M45'),(95,28,10,'M42'),(96,28,7,'M31'),(97,28,19,'M81'),(98,28,14,'M82'),(99,28,9,'Saturn'),(100,28,16,'chi+kap Per'),(101,28,17,'Sternbilder'),(112,32,15,'gam Leo'),(113,32,2,'Jupiter'),(114,32,23,'M1'),(115,32,10,'M42'),(116,32,8,'M45'),(117,32,3,'M57'),(118,32,24,'Mars'),(119,32,1,'Mond'),(120,32,22,'NGC2392'),(121,32,17,'Sternbilder'),(122,37,2,'Jupiter'),(123,37,1,'Mond'),(124,37,15,'gam Leo'),(125,37,8,'M45'),(126,37,10,'M42'),(127,37,7,'M31'),(128,37,19,'M81'),(129,37,14,'M82'),(130,37,17,'Sternbilder'),(131,44,8,'M45'),(132,44,10,'M42'),(133,44,25,'Neptun'),(134,44,2,'Jupiter'),(135,44,1,'Mond'),(136,44,26,'Venus'),(137,44,15,'gam Leo'),(138,45,2,'Jupiter'),(139,45,10,'M42'),(140,45,8,'M45'),(141,45,15,'gam Leo'),(142,45,19,'M81'),(143,45,14,'M82'),(144,45,22,'NGC2392'),(145,45,27,'M97'),(146,45,28,'M3'),(147,46,2,'Jupiter'),(148,46,10,'M42'),(149,46,8,'M45'),(150,46,28,'M3'),(151,46,15,'gam Leo'),(152,46,19,'M81'),(153,46,14,'M82'),(154,46,22,'NGC2392'),(155,46,27,'M97'),(164,48,10,'M42'),(165,48,2,'Jupiter'),(166,48,17,'Sternbilder'),(167,47,2,'Jupiter'),(168,47,29,'M13'),(169,47,30,'M35'),(170,47,10,'M42'),(171,47,8,'M45'),(172,47,19,'M81'),(173,47,14,'M82'),(174,47,17,'Sternbilder');
|
||||||
/*!40000 ALTER TABLE `logbuch_objekte` ENABLE KEYS */;
|
/*!40000 ALTER TABLE `logbuch_objekte` ENABLE KEYS */;
|
||||||
UNLOCK TABLES;
|
UNLOCK TABLES;
|
||||||
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
|
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
|
||||||
@@ -188,4 +190,4 @@ UNLOCK TABLES;
|
|||||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||||
|
|
||||||
-- Dump completed on 2026-04-30 5:31:48
|
-- Dump completed on 2026-05-08 17:43:48
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "logbuch",
|
"name": "logbuch",
|
||||||
"version": "1.3.0",
|
"version": "1.4.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "next dev",
|
"dev": "next dev",
|
||||||
|
|||||||
Reference in New Issue
Block a user