class ModelTestCase(TestCase): def setUp(self): transaction.begin() self.session = DBSession() # With SQLite3 - used for tests - 'x' LIKE 'X' returns true which is # not the case of, for instance, PostgreSQL. Disabling this behaviour # makes tests more realistic. self.session.execute('PRAGMA case_sensitive_like = ON') def tearDown(self): transaction.commit()
def main(argv=sys.argv): session = DBSession() # Create temp table session.execute(""" CREATE TABLE classifier__release_new ( classifier_id integer REFERENCES classifier ON DELETE CASCADE, release_id integer REFERENCES release ); """) # Copy data to new table session.execute(""" INSERT INTO classifier__release_new ( classifier_id, release_id) SELECT classifier_id, release_id FROM classifier__release; """) # Swap the tables session.execute(""" DROP TABLE classifier__release; """) session.execute(""" ALTER TABLE classifier__release_new RENAME TO classifier__release; """) session.commit()
def main(argv=sys.argv): session = DBSession() session.execute(""" CREATE TABLE release_file_new ( id INTEGER NOT NULL, created_at DATETIME, release_id INTEGER NOT NULL, filename VARCHAR(200) NOT NULL, md5_digest VARCHAR(50), size INTEGER, package_type VARCHAR(13) NOT NULL, python_version VARCHAR(25), url VARCHAR(1024), downloads INTEGER, has_sig BOOLEAN, comment_text TEXT, PRIMARY KEY (id), FOREIGN KEY(release_id) REFERENCES release (id), UNIQUE (filename), CHECK (package_type IN ('sdist', 'bdist_egg', 'bdist_msi', 'bdist_dmg', 'bdist_rpm', 'bdist_dumb', 'bdist_wininst', 'bdist_wheel')) CHECK (has_sig IN (0, 1)) ); """) session.execute(""" INSERT INTO release_file_new ( id, created_at, release_id, filename, md5_digest, size, package_type, python_version, url, downloads, has_sig, comment_text) SELECT id, created_at, release_id, filename, md5_digest, size, package_type, python_version, url, downloads, has_sig, comment_text FROM release_file; """) session.execute(""" DROP TABLE release_file; """) session.execute(""" ALTER TABLE release_file_new RENAME TO release_file; """) session.commit()