From 1739eab707a1858447b8c29c1a7997379f3b8918 Mon Sep 17 00:00:00 2001 From: Dave Cross Date: Sat, 19 Dec 2015 21:46:55 +0000 Subject: [PATCH] New database files. --- db/make_ddl | 19 ++++++ db/sql/Shrtr-Schema-0.001-0.001-SQLite.sql | 4 ++ db/sql/Shrtr-Schema-0.001-SQLite.sql | 69 +++++++++++++++++++++ db/upgrade | 18 ++++++ shrtr.db | Bin 0 -> 13312 bytes 5 files changed, 110 insertions(+) create mode 100755 db/make_ddl create mode 100644 db/sql/Shrtr-Schema-0.001-0.001-SQLite.sql create mode 100644 db/sql/Shrtr-Schema-0.001-SQLite.sql create mode 100755 db/upgrade create mode 100644 shrtr.db diff --git a/db/make_ddl b/db/make_ddl new file mode 100755 index 0000000..39dd6fd --- /dev/null +++ b/db/make_ddl @@ -0,0 +1,19 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +use FindBin qw($Bin); +use lib "$Bin/../Shrtr/lib"; +use Getopt::Long; +use Shrtr::Schema; + +my $preversion; +GetOptions('p|preversion:s' => \$preversion) + or die; + +my $sch = Shrtr::Schema->connect('dbi:SQLite:db=shrtr.db'); + +my $sqldir = "$Bin/sql"; +my $version = $sch->schema_version; +$sch->create_ddl_dir('SQLite', $version, $sqldir, $preversion); diff --git a/db/sql/Shrtr-Schema-0.001-0.001-SQLite.sql b/db/sql/Shrtr-Schema-0.001-0.001-SQLite.sql new file mode 100644 index 0000000..81c153b --- /dev/null +++ b/db/sql/Shrtr-Schema-0.001-0.001-SQLite.sql @@ -0,0 +1,4 @@ +-- Convert schema '/home/dave/git/shrtr/db/sql/Shrtr-Schema-0.001-SQLite.sql' to '/home/dave/git/shrtr/db/sql/Shrtr-Schema-0.001-SQLite.sql':; + +-- No differences found; + diff --git a/db/sql/Shrtr-Schema-0.001-SQLite.sql b/db/sql/Shrtr-Schema-0.001-SQLite.sql new file mode 100644 index 0000000..06b887f --- /dev/null +++ b/db/sql/Shrtr-Schema-0.001-SQLite.sql @@ -0,0 +1,69 @@ +-- +-- Created by SQL::Translator::Producer::SQLite +-- Created on Sat Feb 9 20:39:27 2013 +-- + +BEGIN TRANSACTION; + +-- +-- Table: click +-- +DROP TABLE click; + +CREATE TABLE click ( + id INTEGER PRIMARY KEY NOT NULL, + url integer NOT NULL, + ts timestamp NOT NULL DEFAULT current_timestamp, + referrer varchar(200), + user_agent varchar(200), + ip_address varchar(15), + FOREIGN KEY (url) REFERENCES url(id) ON DELETE CASCADE ON UPDATE CASCADE +); + +CREATE INDEX click_idx_url ON click (url); + +-- +-- Table: url +-- +DROP TABLE url; + +CREATE TABLE url ( + id INTEGER PRIMARY KEY NOT NULL, + code varchar(200), + url text, + ts timestamp NOT NULL DEFAULT current_timestamp +); + +CREATE UNIQUE INDEX code ON url (code); + +-- +-- Table: user +-- +DROP TABLE user; + +CREATE TABLE user ( + id INTEGER PRIMARY KEY NOT NULL, + username varchar(20) NOT NULL, + email varchar(100) NOT NULL, + password varchar(32) NOT NULL +); + +-- +-- Table: user_url +-- +DROP TABLE user_url; + +CREATE TABLE user_url ( + user integer, + url integer, + ts timestamp NOT NULL DEFAULT current_timestamp, + ip varchar(15), + FOREIGN KEY (url) REFERENCES url(id) ON DELETE CASCADE ON UPDATE CASCADE, + FOREIGN KEY (user) REFERENCES user(id) ON DELETE CASCADE ON UPDATE CASCADE +); + +CREATE INDEX user_url_idx_url ON user_url (url); + +CREATE INDEX user_url_idx_user ON user_url (user); + +COMMIT; diff --git a/db/upgrade b/db/upgrade new file mode 100755 index 0000000..e44cec0 --- /dev/null +++ b/db/upgrade @@ -0,0 +1,18 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use 5.010; + +use FindBin '$Bin'; +use lib "$Bin/../Shrtr/lib"; +use Shrtr::Schema; + +my $sch = Shrtr::Schema->connect('dbi:SQLite:db=shrtr.db'); + +if ($sch->get_db_version) { + $sch->upgrade; +} else { + $sch->deploy; +} + diff --git a/shrtr.db b/shrtr.db new file mode 100644 index 0000000000000000000000000000000000000000..63c6f98eba0b727bebdf01fb8ad2910b4febdf9c GIT binary patch literal 13312 zcmeI2&2HL25P-cnKyaH=6!}u5?V&1`lGH#VHHS)diJ_>JBnGPHWI5PLtngRcq`3y= z)K}?Squ>7<6YN$My^0!Uzb1Qz4Gz;9Re^o*k= zB!C2FOn`0jW4ro{{Xz3c00~Tw0Pg?OV~v)Oz`PN_{eRvvg8m?Z=@G#Fe|oIZ5)zm< z0$Bg^mJ##^2~3XwtN*xgB?wos)mUF#5qGC&duEmf8zd>qGPx)P)8Q&$N!9 z!@VZAXIi%HIldn?WjA@J;*O!0OI7Z02E0_Lp%-;SuNL$g^E%_&3f-xKOBEeLFKD%b zwyiTsV|Sau7)d0h6idj@Wn#J=+d1QKOxHd$VGRBvj^LH6+xo{Lys({(HloQqI8Td7 zd3l)(o^t*mf^%VvJqR93zS*^%DCh_k^bee~fMNU16iCX}LPB0yCi}xcVR-N+K60;7 zE$=mSm<~KhW*TDS-ZDRw^R;+VURfc7SHsXCV|}<1#&SQob!<>)V$E*pJ(835VpLGOGb~7y^I|F~ zYZ@8IJjM2bduBFUP!*=%Jci;iPaV&9yB&XW%j2;-~WktDZq&b5si c*EjQ7w*M3Hn*b*sNB{}^9|RUfImOq6A8V!j?*IS* literal 0 HcmV?d00001