Example #1
0
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()
Example #2
0
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()
Example #3
0
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()