diff options
| author | 2017-02-13 21:51:10 +0000 | |
|---|---|---|
| committer | 2017-02-13 22:17:14 +0000 | |
| commit | ecb16565531b349acda366515ebb2f9fc1cc24a3 (patch) | |
| tree | 69630bcddc86b035e2285deee5aa74a32769ddb0 /sql | |
| parent | e763ec8c425f73eb96adc5265ae1258b697a3ea6 (diff) | |
DB: fix major fuckup
"id" in the alertlog table refers to the ID name of the alert rule that
triggered, **not** to some sort of unique ID.
This commit rewrites the database schema history used by
DBIx::Class::DeploymentHandler as the previous schemata were utterly
useless (and, in fact, seem to be undeployable).
@Unit193, @Xenthys Clearly you managed to deploy a database somehow. If
you used the legacy `DATABASE.SCHEMA` file and `bin/db_legacy`, you
should be able to update via `bin/db_upgrade`; I've tested to verify
this. (If you //haven't// run `db_legacy` yet, make sure to update to
exactly de9f3deabe35, run `db_legacy`, then update to this commit and
proceed with `db_upgrade`.)
If you used the `db_deploy` script, may Cthulhu have mercy on your soul:
I'm pretty sure that would not actually have worked. That said, it's my
mistake, so if you require further assistance, feel free to poke me on
freenode.
Diffstat (limited to 'sql')
| -rw-r--r-- | sql/_source/deploy/1/001-auto.yml | 16 | ||||
| -rw-r--r-- | sql/_source/deploy/2/001-auto.yml | 16 | ||||
| -rw-r--r-- | sql/_source/deploy/3/001-auto-__VERSION.yml | 91 | ||||
| -rw-r--r-- | sql/_source/deploy/3/001-auto.yml | 387 |
4 files changed, 482 insertions, 28 deletions
diff --git a/sql/_source/deploy/1/001-auto.yml b/sql/_source/deploy/1/001-auto.yml index 6a31fe8..9dc9bf6 100644 --- a/sql/_source/deploy/1/001-auto.yml +++ b/sql/_source/deploy/1/001-auto.yml @@ -186,19 +186,7 @@ schema: options: [] order: 1 alertlog: - constraints: - - deferrable: 1 - expression: '' - fields: - - id - match_type: '' - name: '' - on_delete: '' - on_update: '' - options: [] - reference_fields: [] - reference_table: '' - type: PRIMARY KEY + constraints: [] fields: channel: data_type: text @@ -234,7 +222,7 @@ schema: data_type: tinytext default_value: ~ is_nullable: 0 - is_primary_key: 1 + is_primary_key: 0 is_unique: 0 name: id order: 8 diff --git a/sql/_source/deploy/2/001-auto.yml b/sql/_source/deploy/2/001-auto.yml index f65e9ea..5a58b43 100644 --- a/sql/_source/deploy/2/001-auto.yml +++ b/sql/_source/deploy/2/001-auto.yml @@ -186,19 +186,7 @@ schema: options: [] order: 1 alertlog: - constraints: - - deferrable: 1 - expression: '' - fields: - - id - match_type: '' - name: '' - on_delete: '' - on_update: '' - options: [] - reference_fields: [] - reference_table: '' - type: PRIMARY KEY + constraints: [] fields: channel: data_type: text @@ -234,7 +222,7 @@ schema: data_type: tinytext default_value: ~ is_nullable: 0 - is_primary_key: 1 + is_primary_key: 0 is_unique: 0 name: id order: 8 diff --git a/sql/_source/deploy/3/001-auto-__VERSION.yml b/sql/_source/deploy/3/001-auto-__VERSION.yml new file mode 100644 index 0000000..907f443 --- /dev/null +++ b/sql/_source/deploy/3/001-auto-__VERSION.yml @@ -0,0 +1,91 @@ +--- +schema: + procedures: {} + tables: + dbix_class_deploymenthandler_versions: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - version + match_type: '' + name: dbix_class_deploymenthandler_versions_version + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + fields: + ddl: + data_type: text + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: ddl + order: 3 + size: + - 0 + id: + data_type: int + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + upgrade_sql: + data_type: text + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: upgrade_sql + order: 4 + size: + - 0 + version: + data_type: varchar + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: version + order: 2 + size: + - 50 + indices: [] + name: dbix_class_deploymenthandler_versions + options: [] + order: 1 + triggers: {} + views: {} +translator: + add_drop_table: 0 + filename: ~ + no_comments: 0 + parser_args: + sources: + - __VERSION + parser_type: SQL::Translator::Parser::DBIx::Class + producer_args: {} + producer_type: SQL::Translator::Producer::YAML + show_warnings: 0 + trace: 0 + version: 0.11021 diff --git a/sql/_source/deploy/3/001-auto.yml b/sql/_source/deploy/3/001-auto.yml new file mode 100644 index 0000000..76e5409 --- /dev/null +++ b/sql/_source/deploy/3/001-auto.yml @@ -0,0 +1,387 @@ +--- +schema: + procedures: {} + tables: + actionlog: + constraints: + - deferrable: 1 + expression: '' + fields: + - index + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + fields: + account: + data_type: varchar + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: account + order: 11 + size: + - 17 + action: + data_type: varchar + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: action + order: 3 + size: + - 20 + byaccount: + data_type: varchar + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: byaccount + order: 16 + size: + - 17 + bygecos: + data_type: varchar + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: bygecos + order: 15 + size: + - 512 + byhost: + data_type: varchar + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: byhost + order: 14 + size: + - 64 + bynick: + data_type: varchar + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: bynick + order: 12 + size: + - 17 + byuser: + data_type: varchar + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: byuser + order: 13 + size: + - 11 + channel: + data_type: varchar + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: channel + order: 5 + size: + - 51 + gecos: + data_type: varchar + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: gecos + order: 10 + size: + - 512 + host: + data_type: varchar + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: host + order: 8 + size: + - 64 + index: + data_type: bigint + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: index + order: 1 + size: + - 0 + ip: + data_type: integer + default_value: ~ + extra: + unsigned: 1 + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: ip + order: 9 + size: + - 0 + nick: + data_type: varchar + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: nick + order: 6 + size: + - 17 + reason: + data_type: varchar + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: reason + order: 4 + size: + - 512 + time: + data_type: timestamp + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: time + order: 2 + size: + - 0 + user: + data_type: varchar + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: user + order: 7 + size: + - 11 + indices: [] + name: actionlog + options: [] + order: 1 + alertlog: + constraints: + - deferrable: 1 + expression: '' + fields: + - sqlid + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + fields: + channel: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: channel + order: 2 + size: + - 0 + gecos: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: gecos + order: 6 + size: + - 0 + host: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: host + order: 5 + size: + - 0 + id: + data_type: tinytext + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: id + order: 8 + size: + - 0 + level: + data_type: tinytext + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: level + order: 7 + size: + - 0 + nick: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: nick + order: 3 + size: + - 0 + reason: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: reason + order: 9 + size: + - 0 + sqlid: + data_type: bigint + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: sqlid + order: 10 + size: + - 0 + time: + data_type: timestamp + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: time + order: 1 + size: + - 0 + user: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: user + order: 4 + size: + - 0 + indices: [] + name: alertlog + options: [] + order: 2 + users: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - name + match_type: '' + name: uniq_user_name + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + fields: + id: + data_type: bigint + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + name: + data_type: varchar + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: name + order: 2 + size: + - 20 + passphrase: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: passphrase + order: 3 + size: + - 0 + indices: [] + name: users + options: [] + order: 3 + triggers: {} + views: {} +translator: + add_drop_table: 0 + filename: ~ + no_comments: 0 + parser_args: + sources: + - Actionlog + - Alertlog + - User + parser_type: SQL::Translator::Parser::DBIx::Class + producer_args: {} + producer_type: SQL::Translator::Producer::YAML + show_warnings: 0 + trace: 0 + version: 0.11021 |
