SuccessConsole Output

Established TCP socket on 32841
<===[JENKINS REMOTING CAPACITY]===>channel started
Executing Maven:  -B -f /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/pom.xml clean deploy -Durl=file:///var/www/maven
[INFO] Scanning for projects...
[INFO] 
[INFO] -----------------------< org.dataone:bookkeeper >-----------------------
[INFO] Building bookkeeper 0.1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] Downloading from sonatype.org: https://repository.sonatype.org/content/shadows/centralm1/com/googlecode/foresite-toolkit/foresite/1.0-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from central: https://repo.maven.apache.org/maven2/net/minidev/json-smart/maven-metadata.xml
[INFO] Downloading from dataone.org: http://maven.dataone.org/net/minidev/json-smart/maven-metadata.xml
[INFO] Downloaded from central: https://repo.maven.apache.org/maven2/net/minidev/json-smart/maven-metadata.xml (849 B at 8.8 kB/s)
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ bookkeeper ---
[INFO] Deleting /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ bookkeeper ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 15 resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ bookkeeper ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 36 source files to /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes
[INFO] /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/src/main/java/org/dataone/bookkeeper/resources/QuotasResource.java: Some input files use unchecked or unsafe operations.
[INFO] /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/src/main/java/org/dataone/bookkeeper/resources/QuotasResource.java: Recompile with -Xlint:unchecked for details.
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ bookkeeper ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 9 resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ bookkeeper ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 22 source files to /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/test-classes
[INFO] 
[INFO] --- maven-surefire-plugin:2.22.0:test (default-test) @ bookkeeper ---
[INFO] 
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running org.dataone.bookkeeper.api.OrderTest
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.528 s - in org.dataone.bookkeeper.api.OrderTest
[INFO] Running org.dataone.bookkeeper.api.ProductTest
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.016 s - in org.dataone.bookkeeper.api.ProductTest
[INFO] Running org.dataone.bookkeeper.api.AddressTest
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 s - in org.dataone.bookkeeper.api.AddressTest
[INFO] Running org.dataone.bookkeeper.api.UsageTest
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 s - in org.dataone.bookkeeper.api.UsageTest
[INFO] Running org.dataone.bookkeeper.api.FeatureTest
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 s - in org.dataone.bookkeeper.api.FeatureTest
[INFO] Running org.dataone.bookkeeper.api.CustomerTest
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 s - in org.dataone.bookkeeper.api.CustomerTest
[INFO] Running org.dataone.bookkeeper.api.OrderItemTest
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.016 s - in org.dataone.bookkeeper.api.OrderItemTest
[INFO] Running org.dataone.bookkeeper.api.QuotaTest
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 s - in org.dataone.bookkeeper.api.QuotaTest
[INFO] Running org.dataone.bookkeeper.api.UsageStatusTest
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 s - in org.dataone.bookkeeper.api.UsageStatusTest
[INFO] Running org.dataone.bookkeeper.jdbi.ProductStoreTest
18:54:00.513 [main] INFO com.opentable.db.postgres.embedded.EmbeddedPostgres - Detected a Linux x86_64 system
18:54:00.613 [main] INFO com.opentable.db.postgres.embedded.EmbeddedPostgres - Postgres binaries at /tmp/embedded-pg/PG-06e3a92a2edb6ddd6dbdf5602d0252ca
18:54:01.431 [log:pid(19715)] INFO init-0e18c859-4244-4e92-abb0-73bf5ccce601:initdb - The files belonging to this database system will be owned by user "jenkins".
18:54:01.431 [log:pid(19715)] INFO init-0e18c859-4244-4e92-abb0-73bf5ccce601:initdb - This user must also own the server process.
18:54:01.431 [log:pid(19715)] INFO init-0e18c859-4244-4e92-abb0-73bf5ccce601:initdb - 
18:54:01.455 [log:pid(19715)] INFO init-0e18c859-4244-4e92-abb0-73bf5ccce601:initdb - The database cluster will be initialized with locale "en_US.UTF-8".
18:54:01.455 [log:pid(19715)] INFO init-0e18c859-4244-4e92-abb0-73bf5ccce601:initdb - The default text search configuration will be set to "english".
18:54:01.455 [log:pid(19715)] INFO init-0e18c859-4244-4e92-abb0-73bf5ccce601:initdb - 
18:54:01.455 [log:pid(19715)] INFO init-0e18c859-4244-4e92-abb0-73bf5ccce601:initdb - Data page checksums are disabled.
18:54:01.455 [log:pid(19715)] INFO init-0e18c859-4244-4e92-abb0-73bf5ccce601:initdb - 
18:54:01.455 [log:pid(19715)] INFO init-0e18c859-4244-4e92-abb0-73bf5ccce601:initdb - fixing permissions on existing directory /tmp/epg7831431911630324068 ... ok
18:54:01.456 [log:pid(19715)] INFO init-0e18c859-4244-4e92-abb0-73bf5ccce601:initdb - creating subdirectories ... ok
18:54:01.476 [log:pid(19715)] INFO init-0e18c859-4244-4e92-abb0-73bf5ccce601:initdb - selecting default max_connections ... 100
18:54:01.497 [log:pid(19715)] INFO init-0e18c859-4244-4e92-abb0-73bf5ccce601:initdb - selecting default shared_buffers ... 128MB
18:54:01.498 [log:pid(19715)] INFO init-0e18c859-4244-4e92-abb0-73bf5ccce601:initdb - selecting dynamic shared memory implementation ... posix
18:54:03.433 [log:pid(19715)] INFO init-0e18c859-4244-4e92-abb0-73bf5ccce601:initdb - creating configuration files ... ok
18:54:03.599 [log:pid(19715)] INFO init-0e18c859-4244-4e92-abb0-73bf5ccce601:initdb - running bootstrap script ... ok
18:54:04.513 [log:pid(19715)] INFO init-0e18c859-4244-4e92-abb0-73bf5ccce601:initdb - performing post-bootstrap initialization ... ok
18:54:04.713 [log:pid(19715)] INFO init-0e18c859-4244-4e92-abb0-73bf5ccce601:initdb - syncing data to disk ... ok
18:54:04.713 [log:pid(19715)] INFO init-0e18c859-4244-4e92-abb0-73bf5ccce601:initdb - 
18:54:04.713 [log:pid(19715)] INFO init-0e18c859-4244-4e92-abb0-73bf5ccce601:initdb - Success. You can now start the database server using:
18:54:04.713 [log:pid(19715)] INFO init-0e18c859-4244-4e92-abb0-73bf5ccce601:initdb - 
18:54:04.713 [log:pid(19715)] INFO init-0e18c859-4244-4e92-abb0-73bf5ccce601:initdb -     /tmp/embedded-pg/PG-06e3a92a2edb6ddd6dbdf5602d0252ca/bin/pg_ctl -D /tmp/epg7831431911630324068 -l logfile start
18:54:04.713 [log:pid(19715)] INFO init-0e18c859-4244-4e92-abb0-73bf5ccce601:initdb - 
18:54:04.714 [main] INFO com.opentable.db.postgres.embedded.EmbeddedPostgres - 0e18c859-4244-4e92-abb0-73bf5ccce601 initdb completed in 00:00:04.098
18:54:04.737 [main] INFO com.opentable.db.postgres.embedded.EmbeddedPostgres - 0e18c859-4244-4e92-abb0-73bf5ccce601 postmaster started as java.lang.UNIXProcess@732f29af on port 5432.  Waiting up to PT10S for server startup to finish.
18:54:04.749 [log:pid(19744)] INFO pg-0e18c859-4244-4e92-abb0-73bf5ccce601 - waiting for server to start....2020-10-28 18:54:04.749 UTC [19748] LOG:  listening on IPv6 address "::1", port 5432
18:54:04.749 [log:pid(19744)] INFO pg-0e18c859-4244-4e92-abb0-73bf5ccce601 - 2020-10-28 18:54:04.749 UTC [19748] LOG:  listening on IPv4 address "127.0.0.1", port 5432
18:54:04.749 [log:pid(19744)] INFO pg-0e18c859-4244-4e92-abb0-73bf5ccce601 - 2020-10-28 18:54:04.749 UTC [19748] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
18:54:04.799 [log:pid(19744)] INFO pg-0e18c859-4244-4e92-abb0-73bf5ccce601 - 2020-10-28 18:54:04.799 UTC [19749] LOG:  database system was shut down at 2020-10-28 18:54:04 UTC
18:54:04.802 [log:pid(19744)] INFO pg-0e18c859-4244-4e92-abb0-73bf5ccce601 - 2020-10-28 18:54:04.802 UTC [19748] LOG:  database system is ready to accept connections
18:54:04.845 [log:pid(19744)] INFO pg-0e18c859-4244-4e92-abb0-73bf5ccce601 -  done
18:54:04.845 [log:pid(19744)] INFO pg-0e18c859-4244-4e92-abb0-73bf5ccce601 - server started
18:54:04.846 [log:pid(19744)] INFO pg-0e18c859-4244-4e92-abb0-73bf5ccce601 - 2020-10-28 18:54:04.846 UTC [19756] LOG:  incomplete startup packet
18:54:04.982 [main] INFO com.opentable.db.postgres.embedded.EmbeddedPostgres - 0e18c859-4244-4e92-abb0-73bf5ccce601 postmaster startup finished in 00:00:00.259
18:54:05.001 [main] INFO org.flywaydb.core.internal.license.VersionPrinter - Flyway Community Edition 5.2.4 by Boxfuse
18:54:05.016 [main] INFO org.flywaydb.core.internal.database.DatabaseFactory - Database: jdbc:postgresql://localhost:5432/postgres (PostgreSQL 10.6)
18:54:05.016 [main] DEBUG org.flywaydb.core.internal.database.DatabaseFactory - Driver  : PostgreSQL JDBC Driver 42.2.6
18:54:05.021 [main] DEBUG org.flywaydb.core.Flyway - DDL Transactions Supported: true
18:54:05.026 [main] DEBUG org.flywaydb.core.Flyway - Schema: public
18:54:05.028 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning for classpath resources at 'classpath:db/migrations' ...
18:54:05.028 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Determining location urls for classpath:db/migrations using ClassLoader sun.misc.Launcher$AppClassLoader@7f31245a ...
18:54:05.029 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning URL: file:/var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/db/migrations
18:54:05.029 [main] DEBUG org.flywaydb.core.internal.util.FeatureDetector - JBoss VFS v2 available: false
18:54:05.030 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.FileSystemClassPathLocationScanner - Scanning starting at classpath root in filesystem: /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/
18:54:05.031 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.FileSystemClassPathLocationScanner - Scanning for resources in path: /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/db/migrations (db/migrations)
18:54:05.032 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.0__Create_Bookkeeper_Database.sql
18:54:05.032 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.10__Create_Function_Update_Quota_Table_Usage.sql
18:54:05.032 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.11__Alter_Usages_Add_Unique_Constraint.sql
18:54:05.032 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql
18:54:05.032 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.1__Create_Quotas_Table.sql
18:54:05.032 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.2__Insert_Standard_Quotas.sql
18:54:05.032 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.3__Create_Customers_Table.sql
18:54:05.032 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.4__Create_Products_Table.sql
18:54:05.032 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.5__Insert_Standard_Products.sql
18:54:05.032 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.6__Create_Orders_Table.sql
18:54:05.032 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.7__Alter_Quotas_Add_Order_FK.sql
18:54:05.032 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.8__Alter_Orders_Add_Customer_FK.sql
18:54:05.032 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.9__Create_Usages_Table.sql
18:54:05.032 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning for classes at classpath:db/migrations
18:54:05.035 [main] DEBUG org.flywaydb.core.internal.callback.SqlScriptCallbackFactory - Scanning for SQL callbacks ...
18:54:05.038 [main] DEBUG org.flywaydb.core.internal.util.FeatureDetector - Spring Jdbc available: false
18:54:05.046 [main] DEBUG org.flywaydb.core.internal.command.DbValidate - Validating migrations ...
18:54:05.050 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.0__Create_Bookkeeper_Database.sql ...
18:54:05.055 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.10__Create_Function_Update_Quota_Table_Usage.sql ...
18:54:05.061 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the update quota usage function for inserts and updates
CREATE OR REPLACE FUNCTION update_quota_usage_on_insert_or_update()
    RETURNS trigger
    AS $update_quota_usage_on_insert_or_update$
    BEGIN
        -- Check that quotaId is given
        IF NEW.quotaId IS NULL THEN
            RAISE EXCEPTION 'quotaId cannot be null';
        END IF;

        -- Update the quotas.totalUsage column
        UPDATE quotas q
            SET totalUsage = (SELECT SUM(u.quantity) FROM usages u WHERE u.status != 'inactive' AND u.quotaId = NEW.quotaId)
                WHERE q.id = NEW.quotaId;
        RETURN NEW;
    END;
    $update_quota_usage_on_insert_or_update$
    LANGUAGE plpgsql
18:54:05.061 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 23: --- Create the update quota totalUsage trigger
DROP TRIGGER IF EXISTS update_quotas_usage_on_insert_or_update ON usages
18:54:05.062 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 25: CREATE TRIGGER update_quotas_usage_on_insert_or_update AFTER INSERT OR UPDATE ON usages
    FOR EACH ROW
        EXECUTE PROCEDURE update_quota_usage_on_insert_or_update()
18:54:05.065 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: --- Create the update quota totalUsage function for deletes
CREATE OR REPLACE FUNCTION update_quota_usage_on_delete()
    RETURNS trigger
    AS $update_quota_usage_on_delete$
    BEGIN
        -- Check that quotaId is given
        IF OLD.quotaId IS NULL THEN
            RAISE EXCEPTION 'quotaId cannot be null';
        END IF;

        -- Update the quotas.usage column
        UPDATE quotas q
            SET totalUsage = (SELECT SUM(u.quantity) FROM usages u WHERE u.status != 'inactive' AND u.quotaId = OLD.quotaId)
                WHERE q.id = OLD.quotaId;
        RETURN OLD;
    END;
    $update_quota_usage_on_delete$
    LANGUAGE plpgsql
18:54:05.065 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 48: --- Create the update quota totalUsage trigger
DROP TRIGGER IF EXISTS update_quotas_usage_on_delete ON usages
18:54:05.066 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 50: CREATE TRIGGER update_quotas_usage_on_delete AFTER DELETE ON usages
    FOR EACH ROW
        EXECUTE PROCEDURE update_quota_usage_on_delete()
18:54:05.067 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.11__Alter_Usages_Add_Unique_Constraint.sql ...
18:54:05.068 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Add a unique constraint to the usage table for the 'quotaid' + 'instanceid' columns
CREATE UNIQUE INDEX usages_quotaid_instanceid_idx
    ON usages USING btree(quotaid,instanceid)
18:54:05.068 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql ...
18:54:05.069 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Add a unique constraint to the quotas table for the orderId and quotaType columns
CREATE UNIQUE INDEX quotas_order_id_quota_type_idx
    ON quotas USING btree(orderId, quotaType)
18:54:05.070 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.1__Create_Quotas_Table.sql ...
18:54:05.070 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the quotas table
CREATE SEQUENCE IF NOT EXISTS quotas_id_seq
18:54:05.072 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS quotas (
    id integer DEFAULT nextval('quotas_id_seq') PRIMARY KEY,
    object text NOT NULL,
    quotaType text NOT NULL,
    softLimit double precision NOT NULL,
    hardLimit double precision NOT NULL,
    totalUsage double precision,
    unit text NOT NULL,
    orderId integer,
    subject text,
    name text
)
18:54:05.072 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 19: ALTER SEQUENCE quotas_id_seq OWNED BY quotas.id
18:54:05.072 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 21: CREATE INDEX quotas_quotaType_idx ON quotas USING btree(quotaType)
18:54:05.072 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 22: CREATE INDEX quotas_orderId_idx ON quotas USING btree(orderId)
18:54:05.073 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 23: CREATE INDEX quotas_subject_idx ON quotas USING btree(subject)
18:54:05.073 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 25: COMMENT ON TABLE quotas IS 'Quotas limiting resources for products per customer. Quotas may be associated with products or customers by their ids.'
18:54:05.073 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 26: COMMENT ON COLUMN quotas.id IS 'The unique quota identifier'
18:54:05.073 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 27: COMMENT ON COLUMN quotas.object IS 'The serialized object type, set to "quota"'
18:54:05.073 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 28: COMMENT ON COLUMN quotas.quotaType IS 'The quota type'
18:54:05.074 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: COMMENT ON COLUMN quotas.softLimit IS 'The soft limit of the resource.'
18:54:05.074 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 30: COMMENT ON COLUMN quotas.hardLimit IS 'The hard limit of the resource.'
18:54:05.074 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: COMMENT ON COLUMN quotas.totalUsage IS 'The current observed total usage of the quota.'
18:54:05.074 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: COMMENT ON COLUMN quotas.unit IS 'The named unit of the quota.'
18:54:05.075 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 33: COMMENT ON COLUMN quotas.orderId IS 'The order id to which the quota is applied.'
18:54:05.075 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 34: COMMENT ON COLUMN quotas.subject IS 'The subject identifier to which the quota is applied.'
18:54:05.075 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 35: COMMENT ON COLUMN quotas.name IS 'The quota name, copied from the order name.'
18:54:05.076 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.2__Insert_Standard_Quotas.sql ...
18:54:05.076 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 3: -- 1GB base storage limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'storage', 1073741824.0, 1181116006.4, NULL, 'byte', NULL, NULL)
18:54:05.077 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: -- 1TB base hosted repository storage limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'repository_storage', 1099511627776.0, 1209462790553.6, NULL, 'byte', NULL,
    NULL)
18:54:05.078 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 12: -- Single base branded portal limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'portal', 1.0, 1.0, NULL, 'portal', NULL, NULL)
18:54:05.078 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.3__Create_Customers_Table.sql ...
18:54:05.079 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the customers table
CREATE SEQUENCE customers_id_seq
18:54:05.080 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS customers (
    id integer DEFAULT nextval('customers_id_seq') PRIMARY KEY,
    object text NOT NULL,
    subject text NOT NULL,
    balance integer,
    address json,
    created timestamp with time zone,
    currency text,
    delinquent boolean,
    description text,
    discount json,
    email text,
    invoicePrefix text,
    invoiceSettings json,
    metadata json,
    givenName text,
    surName text,
    phone text
)
18:54:05.081 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 26: ALTER SEQUENCE customers_id_seq OWNED BY customers.id
18:54:05.081 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 27: CREATE INDEX customers_subject_idx ON customers USING btree(subject)
18:54:05.081 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 28: CREATE INDEX customers_email_idx ON customers USING btree(email)
18:54:05.081 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 30: COMMENT ON TABLE customers IS 'Customers that have ordered products and have quotas.'
18:54:05.081 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: COMMENT ON COLUMN customers.id IS 'The unique customer identifier.'
18:54:05.082 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: COMMENT ON COLUMN customers.object IS 'The serialized object type, set to "customer".'
18:54:05.082 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 33: COMMENT ON COLUMN customers.subject IS 'The unique customer Subject identifier.'
18:54:05.082 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 34: COMMENT ON COLUMN customers.balance IS 'The customer balance, in the smallest unit of the currency (i.e. USD cents).'
18:54:05.082 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 35: COMMENT ON COLUMN customers.address IS 'The customer address, stored as a JSON address object.'
18:54:05.082 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 36: COMMENT ON COLUMN customers.created IS 'The customer creation date.'
18:54:05.082 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 37: COMMENT ON COLUMN customers.currency IS 'The customer currency, defaults to "USD".'
18:54:05.083 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 38: COMMENT ON COLUMN customers.delinquent IS 'The customer delinquency status, true or false'
18:54:05.083 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 39: COMMENT ON COLUMN customers.description IS 'The customer description'
18:54:05.083 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 40: COMMENT ON COLUMN customers.discount IS 'The customer discount, stored as a JSON Discount object.'
18:54:05.083 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 41: COMMENT ON COLUMN customers.email IS 'The customer email address.'
18:54:05.083 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 42: COMMENT ON COLUMN customers.invoicePrefix IS 'The customer invoice prefix'
18:54:05.084 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 43: COMMENT ON COLUMN customers.invoiceSettings IS 'The customer settings, stored as a JSON InvoiceSettings object'
18:54:05.084 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 44: COMMENT ON COLUMN customers.metadata IS 'The customer metadata, stored as a JSON object (undefined as of yet)'
18:54:05.084 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 45: COMMENT ON COLUMN customers.givenName IS 'The customer given name'
18:54:05.084 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 46: COMMENT ON COLUMN customers.surName IS 'The customer surname'
18:54:05.084 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 47: COMMENT ON COLUMN customers.phone IS 'The customer phone'
18:54:05.085 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.4__Create_Products_Table.sql ...
18:54:05.085 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the products table
CREATE SEQUENCE products_id_seq
18:54:05.086 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS products (
    id integer DEFAULT nextval('products_id_seq') PRIMARY KEY,
    object text NOT NULL,
    active boolean,
    amount integer NOT NULL,
    name text,
    caption text,
    currency text NOT NULL,
    description text,
    interval text NOT NULL,
    created timestamp with time zone,
    statementDescriptor text,
    type text,
    unitLabel text,
    url text,
    metadata json
)
18:54:05.087 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 24: ALTER SEQUENCE products_id_seq OWNED BY products.id
18:54:05.087 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 26: CREATE INDEX products_active_idx ON products USING btree(active)
18:54:05.087 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 27: CREATE INDEX products_name_idx ON products USING btree(name)
18:54:05.087 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 28: CREATE INDEX products_caption_idx ON products USING btree(caption)
18:54:05.087 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: CREATE INDEX products_description_idx ON products USING btree(description)
18:54:05.087 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: COMMENT ON TABLE  products IS 'Products that are offered as services.'
18:54:05.088 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: COMMENT ON COLUMN products.id IS 'The unique product identifier'
18:54:05.088 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 33: COMMENT ON COLUMN products.object IS 'The serialized object type, set to "product"'
18:54:05.088 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 34: COMMENT ON COLUMN products.active IS 'The active status for the product, true or false.'
18:54:05.088 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 35: COMMENT ON COLUMN products.amount IS 'The cost amount for the product, in pence of the currency'
18:54:05.088 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 36: COMMENT ON COLUMN products.name IS 'The product name.'
18:54:05.088 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 37: COMMENT ON COLUMN products.caption IS 'The product caption, used for display.'
18:54:05.089 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 38: COMMENT ON COLUMN products.currency IS 'The product currency as a 3-letter ISO currency code.'
18:54:05.089 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 39: COMMENT ON COLUMN products.description IS 'The product general description.'
18:54:05.089 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 40: COMMENT ON COLUMN products.interval IS 'The product payment interval (day, week, month, year).'
18:54:05.089 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 41: COMMENT ON COLUMN products.created IS 'The product creation date.'
18:54:05.089 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 42: COMMENT ON COLUMN products.statementDescriptor IS 'The product statement descriptor used on charge statements.'
18:54:05.089 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 43: COMMENT ON COLUMN products.type IS 'The product type, either service or good.'
18:54:05.089 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 44: COMMENT ON COLUMN products.unitLabel IS 'The product unit label.'
18:54:05.090 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 45: COMMENT ON COLUMN products.url IS 'The product URL used for more information.'
18:54:05.090 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 46: COMMENT ON COLUMN products.metadata IS 'The product metadata JSON object, currently a feature list.'
18:54:05.090 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.5__Insert_Standard_Products.sql ...
18:54:05.093 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 3: --- Individual Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    32000,
    'Faculty or research lab',
    now(),
    'USD',
    'Create a customized portal for your work and projects. Help others understand and access your data.',
    'year',
    'Individual',
    'DataONE Membership Plan - Individual',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "1","hardLimit": "1","totalUsage": "0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:05.095 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 24: --- Small Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    200000,
    'Small institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Small Organization',
    'DataONE Membership Plan - Small Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "5","hardLimit": "5","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:05.097 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 44: --- Medium Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    600000,
    'Medium institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Medium Organization',
    'DataONE Membership Plan - Medium Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "15","hardLimit": "15","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:05.099 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 64: --- Large Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    2800000,
    'Large institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Large Organization',
    'DataONE Membership Plan - Large Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "branded_portal","softLimit": "50","hardLimit": "50","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:05.105 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 84: -- Hosted Repository
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    'true',
    1200000,
    'A dedicated repository solution for your group or institution’s data, managed by DataONE',
    now(),
    'USD',
    'Bring the products of your research lab, field station, or library together in a centralized location for efficient sharing, access, and reuse. Accelerate research activity, foster new collaborations, and build community with a repository that meets your needs and reflects your brand.',
    'year',
    'DataONE Hosted Repository',
    'DataONE Hosted Repository',
    'service',
    'repository',
    'https://products.dataone.org/hostedrepo',
    '{"features": [{"name": "trusted_data_repository","label": "A Trusted Data Repository","description": "Preserve and share your data, software, and derived products in a dedicated repository system. Built on our robust and expertly managed repository software and hardware, your research products are safely inactive and easily accessible."},{"name": "individual_fair_Assessments","label": "Individual FAIR Assessments","description": "Evaluate your metadata with community established FAIR principles. Scores are refreshed with updates to your metadata, helping make your data even more Findable, Accessible, Interoperable, and Reusable."},{"name": "powerful_online_submission","label": "Powerful Online Submission","description": "The user friendly data submission tool helps your researchers efficiently upload and describe their data. Users can easily create detailed metadata to enhance interoperability, reusability, and value of data."},{"name": "comprehensive_search","label": "Comprehensive Search","description": "Quickly find data with detailed search filters, or by navigating the interactive map."},{"name": "usage_metrics","label": "Usage Metrics","description": "Understand how your data are being used over time with view, download, and citation metrics."},{"name": "usage_metrics","label": "Usage Metrics","description": "Understand how your data are being used over time with view, download, and citation metrics."},{"name": "expandable_storage","label": "Expandable Storage","description": "Grow your repository capacity based on your storage needs in 1 TB increments.","quota": {"object": "quota","quotaType": "repository_storage","softLimit": 1048576,"hardLimit": 1153434,"totalUsage": 0,"unit": "portal"}},{"name": "geographic_replicas","label": "Geographic Replicas","description": "Your data are replicated to distinct geographic regions for high availability and preservation."},{"name": "api_access","label": "API Access","description": "Programmatically work with your repository through the DataONE tools in R, Python, Matlab, and Java."},{"name": "link_data_and_software","label": "Link data and Software","description": "Easily show how your files relate to each other by providing well-described provenance workflows."},{"name": "private_and_public_access","label": "Private and Public Access","description": "Control access to your datasets\nprior to publication with private groups or just yourself."},{"name": "private_and_public_access","label": "Private and Public Access","description": "Control access to your datasets\nprior to publication with private groups or just yourself."},{"name": "any_file_format","label": "Any File Format","description": "Use the scientific file formats for your community: image, tabular, text, audio, video, and others."},{"name": "share_when_ready","label": "Share When Ready","description": "Keep your dataset private while you document it thoroughly, and then make it public when you are ready."}]}'
)
18:54:05.107 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 104: -- Archival Storage
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    'true',
    126000,
    'Additional High Availability Data Storage',
    now(),
    'USD',
    'Increase the available storage in your dedicated hosted repository in 1 TB increments.',
    'year',
    'Additional Data Storage',
    'Additional Data Storage',
    'service',
    'storage',
    'https://products.dataone.org/hostedrepo',
    '{}'
)
18:54:05.108 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.6__Create_Orders_Table.sql ...
18:54:05.109 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the orders table
CREATE SEQUENCE orders_id_seq
18:54:05.110 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS orders (
    id integer DEFAULT nextval('orders_id_seq') PRIMARY KEY,
    object text NOT NULL,
    amount integer,
    amountReturned integer,
    charge json,
    created timestamp with time zone,
    currency text,
    customer integer,
    subject text,
    email text,
    items json,
    metadata json,
    name text,
    status text,
    statusTransitions json,
    updated timestamp with time zone,
    seriesId text,
    startDate timestamp with time zone,
    endDate timestamp with time zone
)
18:54:05.110 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: CREATE INDEX orders_customer_idx ON orders USING btree(customer)
18:54:05.110 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 30: CREATE INDEX orders_subject_idx ON orders USING btree(subject)
18:54:05.111 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: CREATE INDEX orders_email_idx ON orders USING btree(email)
18:54:05.111 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: CREATE INDEX orders_status_idx ON orders USING btree(status)
18:54:05.111 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 34: COMMENT ON TABLE  orders IS 'Orders of products by customers.'
18:54:05.111 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 35: COMMENT ON COLUMN orders.id IS 'The unique order identifier.'
18:54:05.111 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 36: COMMENT ON COLUMN orders.object IS 'The serialized object type, set to "order".'
18:54:05.111 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 37: COMMENT ON COLUMN orders.amount IS 'The order amount in the smallest unit of the currency.'
18:54:05.112 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 38: COMMENT ON COLUMN orders.amountReturned IS 'The order amount returned in the smallest unit of the currency.'
18:54:05.112 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 39: COMMENT ON COLUMN orders.charge IS 'The order transaction charge JSON object.'
18:54:05.112 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 40: COMMENT ON COLUMN orders.created IS 'The order creation date.'
18:54:05.112 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 41: COMMENT ON COLUMN orders.currency IS 'The order currency code.'
18:54:05.112 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 42: COMMENT ON COLUMN orders.customer IS 'The order customer identifier.'
18:54:05.112 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 43: COMMENT ON COLUMN orders.subject IS 'The order user or group subject identifier.'
18:54:05.113 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 44: COMMENT ON COLUMN orders.email IS 'The order customer email.'
18:54:05.113 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 45: COMMENT ON COLUMN orders.items IS 'The order items list JSON object.'
18:54:05.113 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 46: COMMENT ON COLUMN orders.metadata IS 'The order metadata JSON object.'
18:54:05.113 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 47: COMMENT ON COLUMN orders.name IS 'The order name set by the customer.'
18:54:05.113 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 48: COMMENT ON COLUMN orders.status IS 'The order status (created, paid, canceled, fulfilled, returned.'
18:54:05.113 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 49: COMMENT ON COLUMN orders.statusTransitions IS 'The order status/date transitions JSON object'
18:54:05.113 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 50: COMMENT ON COLUMN orders.updated IS 'The order update date.'
18:54:05.114 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 51: COMMENT ON COLUMN orders.seriesId IS 'The order series identifier to track renewals.'
18:54:05.114 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 52: COMMENT ON COLUMN orders.startDate IS 'The order services start date.'
18:54:05.114 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 53: COMMENT ON COLUMN orders.endDate IS 'The order services end date.'
18:54:05.115 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.7__Alter_Quotas_Add_Order_FK.sql ...
18:54:05.115 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Add the order id foreign key constraint
ALTER TABLE quotas
    ADD CONSTRAINT quotas_order_id_fk
    FOREIGN KEY (orderId) REFERENCES orders (id) ON DELETE CASCADE
18:54:05.115 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.8__Alter_Orders_Add_Customer_FK.sql ...
18:54:05.116 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Add the customer id foreign key constraint
ALTER TABLE orders
    ADD CONSTRAINT orders_customer_id_fk
    FOREIGN KEY (customer) REFERENCES customers (id) ON DELETE CASCADE
18:54:05.116 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.9__Create_Usages_Table.sql ...
18:54:05.117 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the usages table
CREATE SEQUENCE IF NOT EXISTS usages_id_seq
18:54:05.117 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS usages (
    id integer DEFAULT nextval('usages_id_seq') PRIMARY KEY,
    object text NOT NULL,
    quotaId integer NOT NULL,
    instanceId text NOT NULL,
    quantity double precision NOT NULL,
    status text,
    nodeId text NOT NULL
)
18:54:05.118 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 16: ALTER SEQUENCE usages_id_seq OWNED BY usages.id
18:54:05.118 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 18: CREATE INDEX usages_quotaId_idx ON usages USING btree(quotaId)
18:54:05.118 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 19: CREATE INDEX usages_instanceId_idx ON usages USING btree(instanceId)
18:54:05.118 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 21: ALTER TABLE usages
    ADD CONSTRAINT usages_quotas_id_fk
    FOREIGN KEY (quotaId) REFERENCES quotas (id) ON DELETE CASCADE
18:54:05.118 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 25: COMMENT ON TABLE  usages IS 'Usages records each instance a portion of a quota is used.'
18:54:05.118 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 26: COMMENT ON COLUMN usages.id IS 'The unique usage identifier.'
18:54:05.118 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 27: COMMENT ON COLUMN usages.object IS 'The serialized object type, set to "usage".'
18:54:05.119 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 28: COMMENT ON COLUMN usages.quotaId IS 'The quota identifier.'
18:54:05.119 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: COMMENT ON COLUMN usages.instanceId IS 'The instance identifier using a portion of the quota.'
18:54:05.119 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 30: COMMENT ON COLUMN usages.quantity IS 'The quantity used by the instance, in the quota units.'
18:54:05.119 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: COMMENT ON COLUMN usages.status IS 'The status of the usage, active or inactive.'
18:54:05.119 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: COMMENT ON COLUMN usages.nodeId IS 'The quota node identifier".'
18:54:05.120 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.0__Create_Bookkeeper_Database.sql (filename: V1.0__Create_Bookkeeper_Database.sql)
18:54:05.120 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.10__Create_Function_Update_Quota_Table_Usage.sql (filename: V1.10__Create_Function_Update_Quota_Table_Usage.sql)
18:54:05.120 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.11__Alter_Usages_Add_Unique_Constraint.sql (filename: V1.11__Alter_Usages_Add_Unique_Constraint.sql)
18:54:05.120 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql (filename: V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql)
18:54:05.120 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.1__Create_Quotas_Table.sql (filename: V1.1__Create_Quotas_Table.sql)
18:54:05.120 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.2__Insert_Standard_Quotas.sql (filename: V1.2__Insert_Standard_Quotas.sql)
18:54:05.120 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.3__Create_Customers_Table.sql (filename: V1.3__Create_Customers_Table.sql)
18:54:05.120 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.4__Create_Products_Table.sql (filename: V1.4__Create_Products_Table.sql)
18:54:05.120 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.5__Insert_Standard_Products.sql (filename: V1.5__Insert_Standard_Products.sql)
18:54:05.120 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.6__Create_Orders_Table.sql (filename: V1.6__Create_Orders_Table.sql)
18:54:05.120 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.7__Alter_Quotas_Add_Order_FK.sql (filename: V1.7__Alter_Quotas_Add_Order_FK.sql)
18:54:05.120 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.8__Alter_Orders_Add_Customer_FK.sql (filename: V1.8__Alter_Orders_Add_Customer_FK.sql)
18:54:05.120 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.9__Create_Usages_Table.sql (filename: V1.9__Create_Usages_Table.sql)
18:54:05.129 [main] INFO org.flywaydb.core.internal.command.DbValidate - Successfully validated 13 migrations (execution time 00:00.081s)
18:54:05.130 [main] DEBUG org.flywaydb.core.internal.command.DbSchemas - Schema "public" already exists. Skipping schema creation.
18:54:05.138 [main] INFO org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Creating Schema History table: "public"."flyway_schema_history"
18:54:05.139 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing createMetaDataTable.sql ...
18:54:05.141 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 17: CREATE TABLE "public"."flyway_schema_history" (
    "installed_rank" INT NOT NULL,
    "version" VARCHAR(50),
    "description" VARCHAR(200) NOT NULL,
    "type" VARCHAR(20) NOT NULL,
    "script" VARCHAR(1000) NOT NULL,
    "checksum" INTEGER,
    "installed_by" VARCHAR(100) NOT NULL,
    "installed_on" TIMESTAMP NOT NULL DEFAULT now(),
    "execution_time" INTEGER NOT NULL,
    "success" BOOLEAN NOT NULL
)
18:54:05.141 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: ALTER TABLE "public"."flyway_schema_history" ADD CONSTRAINT "flyway_schema_history_pk" PRIMARY KEY ("installed_rank")
18:54:05.141 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: CREATE INDEX "flyway_schema_history_s_idx" ON "public"."flyway_schema_history" ("success")
18:54:05.141 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE "public"."flyway_schema_history" (
    "installed_rank" INT NOT NULL,
    "version" VARCHAR(50),
    "description" VARCHAR(200) NOT NULL,
    "type" VARCHAR(20) NOT NULL,
    "script" VARCHAR(1000) NOT NULL,
    "checksum" INTEGER,
    "installed_by" VARCHAR(100) NOT NULL,
    "installed_on" TIMESTAMP NOT NULL DEFAULT now(),
    "execution_time" INTEGER NOT NULL,
    "success" BOOLEAN NOT NULL
)
18:54:05.145 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.145 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER TABLE "public"."flyway_schema_history" ADD CONSTRAINT "flyway_schema_history_pk" PRIMARY KEY ("installed_rank")
18:54:05.146 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.146 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX "flyway_schema_history_s_idx" ON "public"."flyway_schema_history" ("success")
18:54:05.147 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.147 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Created Schema History table: "public"."flyway_schema_history"
18:54:05.154 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Current version of schema "public": << Empty Schema >>
18:54:05.155 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.0 - Create Bookkeeper Database
18:54:05.156 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.0 - Create Bookkeeper Database
18:54:05.159 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:05.163 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.1 - Create Quotas Table
18:54:05.165 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the quotas table
CREATE SEQUENCE IF NOT EXISTS quotas_id_seq
18:54:05.166 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.166 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS quotas (
    id integer DEFAULT nextval('quotas_id_seq') PRIMARY KEY,
    object text NOT NULL,
    quotaType text NOT NULL,
    softLimit double precision NOT NULL,
    hardLimit double precision NOT NULL,
    totalUsage double precision,
    unit text NOT NULL,
    orderId integer,
    subject text,
    name text
)
18:54:05.168 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.168 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER SEQUENCE quotas_id_seq OWNED BY quotas.id
18:54:05.168 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.168 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX quotas_quotaType_idx ON quotas USING btree(quotaType)
18:54:05.168 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.168 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX quotas_orderId_idx ON quotas USING btree(orderId)
18:54:05.169 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.169 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX quotas_subject_idx ON quotas USING btree(subject)
18:54:05.169 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.169 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE quotas IS 'Quotas limiting resources for products per customer. Quotas may be associated with products or customers by their ids.'
18:54:05.170 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.170 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.id IS 'The unique quota identifier'
18:54:05.170 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.170 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.object IS 'The serialized object type, set to "quota"'
18:54:05.170 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.170 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.quotaType IS 'The quota type'
18:54:05.170 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.170 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.softLimit IS 'The soft limit of the resource.'
18:54:05.171 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.171 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.hardLimit IS 'The hard limit of the resource.'
18:54:05.171 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.171 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.totalUsage IS 'The current observed total usage of the quota.'
18:54:05.171 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.171 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.unit IS 'The named unit of the quota.'
18:54:05.172 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.172 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.orderId IS 'The order id to which the quota is applied.'
18:54:05.173 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.173 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.subject IS 'The subject identifier to which the quota is applied.'
18:54:05.173 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.173 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.name IS 'The quota name, copied from the order name.'
18:54:05.173 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.173 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.1 - Create Quotas Table
18:54:05.174 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:05.176 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.2 - Insert Standard Quotas
18:54:05.177 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- 1GB base storage limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'storage', 1073741824.0, 1181116006.4, NULL, 'byte', NULL, NULL)
18:54:05.178 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:05.178 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- 1TB base hosted repository storage limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'repository_storage', 1099511627776.0, 1209462790553.6, NULL, 'byte', NULL,
    NULL)
18:54:05.178 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:05.178 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- Single base branded portal limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'portal', 1.0, 1.0, NULL, 'portal', NULL, NULL)
18:54:05.179 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:05.179 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.2 - Insert Standard Quotas
18:54:05.182 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:05.184 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.3 - Create Customers Table
18:54:05.185 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the customers table
CREATE SEQUENCE customers_id_seq
18:54:05.186 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.186 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS customers (
    id integer DEFAULT nextval('customers_id_seq') PRIMARY KEY,
    object text NOT NULL,
    subject text NOT NULL,
    balance integer,
    address json,
    created timestamp with time zone,
    currency text,
    delinquent boolean,
    description text,
    discount json,
    email text,
    invoicePrefix text,
    invoiceSettings json,
    metadata json,
    givenName text,
    surName text,
    phone text
)
18:54:05.188 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.188 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER SEQUENCE customers_id_seq OWNED BY customers.id
18:54:05.188 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.188 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX customers_subject_idx ON customers USING btree(subject)
18:54:05.189 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.189 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX customers_email_idx ON customers USING btree(email)
18:54:05.190 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.190 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE customers IS 'Customers that have ordered products and have quotas.'
18:54:05.190 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.190 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.id IS 'The unique customer identifier.'
18:54:05.190 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.190 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.object IS 'The serialized object type, set to "customer".'
18:54:05.191 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.191 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.subject IS 'The unique customer Subject identifier.'
18:54:05.191 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.191 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.balance IS 'The customer balance, in the smallest unit of the currency (i.e. USD cents).'
18:54:05.191 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.191 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.address IS 'The customer address, stored as a JSON address object.'
18:54:05.191 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.191 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.created IS 'The customer creation date.'
18:54:05.192 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.192 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.currency IS 'The customer currency, defaults to "USD".'
18:54:05.192 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.192 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.delinquent IS 'The customer delinquency status, true or false'
18:54:05.192 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.192 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.description IS 'The customer description'
18:54:05.192 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.192 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.discount IS 'The customer discount, stored as a JSON Discount object.'
18:54:05.193 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.193 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.email IS 'The customer email address.'
18:54:05.193 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.193 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.invoicePrefix IS 'The customer invoice prefix'
18:54:05.193 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.193 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.invoiceSettings IS 'The customer settings, stored as a JSON InvoiceSettings object'
18:54:05.193 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.193 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.metadata IS 'The customer metadata, stored as a JSON object (undefined as of yet)'
18:54:05.193 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.193 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.givenName IS 'The customer given name'
18:54:05.194 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.194 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.surName IS 'The customer surname'
18:54:05.194 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.194 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.phone IS 'The customer phone'
18:54:05.194 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.194 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.3 - Create Customers Table
18:54:05.203 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:05.205 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.4 - Create Products Table
18:54:05.206 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the products table
CREATE SEQUENCE products_id_seq
18:54:05.207 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.207 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS products (
    id integer DEFAULT nextval('products_id_seq') PRIMARY KEY,
    object text NOT NULL,
    active boolean,
    amount integer NOT NULL,
    name text,
    caption text,
    currency text NOT NULL,
    description text,
    interval text NOT NULL,
    created timestamp with time zone,
    statementDescriptor text,
    type text,
    unitLabel text,
    url text,
    metadata json
)
18:54:05.209 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.209 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER SEQUENCE products_id_seq OWNED BY products.id
18:54:05.210 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.210 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX products_active_idx ON products USING btree(active)
18:54:05.210 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.210 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX products_name_idx ON products USING btree(name)
18:54:05.211 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.211 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX products_caption_idx ON products USING btree(caption)
18:54:05.212 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.212 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX products_description_idx ON products USING btree(description)
18:54:05.212 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.212 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE  products IS 'Products that are offered as services.'
18:54:05.213 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.213 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.id IS 'The unique product identifier'
18:54:05.213 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.213 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.object IS 'The serialized object type, set to "product"'
18:54:05.214 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.214 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.active IS 'The active status for the product, true or false.'
18:54:05.214 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.214 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.amount IS 'The cost amount for the product, in pence of the currency'
18:54:05.214 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.215 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.name IS 'The product name.'
18:54:05.215 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.215 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.caption IS 'The product caption, used for display.'
18:54:05.215 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.215 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.currency IS 'The product currency as a 3-letter ISO currency code.'
18:54:05.216 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.216 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.description IS 'The product general description.'
18:54:05.218 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.219 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.interval IS 'The product payment interval (day, week, month, year).'
18:54:05.219 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.219 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.created IS 'The product creation date.'
18:54:05.219 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.219 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.statementDescriptor IS 'The product statement descriptor used on charge statements.'
18:54:05.220 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.220 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.type IS 'The product type, either service or good.'
18:54:05.220 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.220 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.unitLabel IS 'The product unit label.'
18:54:05.221 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.221 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.url IS 'The product URL used for more information.'
18:54:05.221 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.221 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.metadata IS 'The product metadata JSON object, currently a feature list.'
18:54:05.221 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.222 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.4 - Create Products Table
18:54:05.224 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:05.226 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.5 - Insert Standard Products
18:54:05.227 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Individual Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    32000,
    'Faculty or research lab',
    now(),
    'USD',
    'Create a customized portal for your work and projects. Help others understand and access your data.',
    'year',
    'Individual',
    'DataONE Membership Plan - Individual',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "1","hardLimit": "1","totalUsage": "0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:05.228 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:05.229 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Small Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    200000,
    'Small institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Small Organization',
    'DataONE Membership Plan - Small Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "5","hardLimit": "5","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:05.229 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:05.229 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Medium Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    600000,
    'Medium institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Medium Organization',
    'DataONE Membership Plan - Medium Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "15","hardLimit": "15","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:05.234 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:05.234 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Large Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    2800000,
    'Large institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Large Organization',
    'DataONE Membership Plan - Large Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "branded_portal","softLimit": "50","hardLimit": "50","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:05.235 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:05.235 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- Hosted Repository
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    'true',
    1200000,
    'A dedicated repository solution for your group or institution’s data, managed by DataONE',
    now(),
    'USD',
    'Bring the products of your research lab, field station, or library together in a centralized location for efficient sharing, access, and reuse. Accelerate research activity, foster new collaborations, and build community with a repository that meets your needs and reflects your brand.',
    'year',
    'DataONE Hosted Repository',
    'DataONE Hosted Repository',
    'service',
    'repository',
    'https://products.dataone.org/hostedrepo',
    '{"features": [{"name": "trusted_data_repository","label": "A Trusted Data Repository","description": "Preserve and share your data, software, and derived products in a dedicated repository system. Built on our robust and expertly managed repository software and hardware, your research products are safely inactive and easily accessible."},{"name": "individual_fair_Assessments","label": "Individual FAIR Assessments","description": "Evaluate your metadata with community established FAIR principles. Scores are refreshed with updates to your metadata, helping make your data even more Findable, Accessible, Interoperable, and Reusable."},{"name": "powerful_online_submission","label": "Powerful Online Submission","description": "The user friendly data submission tool helps your researchers efficiently upload and describe their data. Users can easily create detailed metadata to enhance interoperability, reusability, and value of data."},{"name": "comprehensive_search","label": "Comprehensive Search","description": "Quickly find data with detailed search filters, or by navigating the interactive map."},{"name": "usage_metrics","label": "Usage Metrics","description": "Understand how your data are being used over time with view, download, and citation metrics."},{"name": "usage_metrics","label": "Usage Metrics","description": "Understand how your data are being used over time with view, download, and citation metrics."},{"name": "expandable_storage","label": "Expandable Storage","description": "Grow your repository capacity based on your storage needs in 1 TB increments.","quota": {"object": "quota","quotaType": "repository_storage","softLimit": 1048576,"hardLimit": 1153434,"totalUsage": 0,"unit": "portal"}},{"name": "geographic_replicas","label": "Geographic Replicas","description": "Your data are replicated to distinct geographic regions for high availability and preservation."},{"name": "api_access","label": "API Access","description": "Programmatically work with your repository through the DataONE tools in R, Python, Matlab, and Java."},{"name": "link_data_and_software","label": "Link data and Software","description": "Easily show how your files relate to each other by providing well-described provenance workflows."},{"name": "private_and_public_access","label": "Private and Public Access","description": "Control access to your datasets\nprior to publication with private groups or just yourself."},{"name": "private_and_public_access","label": "Private and Public Access","description": "Control access to your datasets\nprior to publication with private groups or just yourself."},{"name": "any_file_format","label": "Any File Format","description": "Use the scientific file formats for your community: image, tabular, text, audio, video, and others."},{"name": "share_when_ready","label": "Share When Ready","description": "Keep your dataset private while you document it thoroughly, and then make it public when you are ready."}]}'
)
18:54:05.236 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:05.237 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- Archival Storage
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    'true',
    126000,
    'Additional High Availability Data Storage',
    now(),
    'USD',
    'Increase the available storage in your dedicated hosted repository in 1 TB increments.',
    'year',
    'Additional Data Storage',
    'Additional Data Storage',
    'service',
    'storage',
    'https://products.dataone.org/hostedrepo',
    '{}'
)
18:54:05.237 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:05.237 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.5 - Insert Standard Products
18:54:05.238 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:05.241 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.6 - Create Orders Table
18:54:05.241 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the orders table
CREATE SEQUENCE orders_id_seq
18:54:05.242 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.242 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS orders (
    id integer DEFAULT nextval('orders_id_seq') PRIMARY KEY,
    object text NOT NULL,
    amount integer,
    amountReturned integer,
    charge json,
    created timestamp with time zone,
    currency text,
    customer integer,
    subject text,
    email text,
    items json,
    metadata json,
    name text,
    status text,
    statusTransitions json,
    updated timestamp with time zone,
    seriesId text,
    startDate timestamp with time zone,
    endDate timestamp with time zone
)
18:54:05.244 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.244 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX orders_customer_idx ON orders USING btree(customer)
18:54:05.245 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.245 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX orders_subject_idx ON orders USING btree(subject)
18:54:05.246 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.246 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX orders_email_idx ON orders USING btree(email)
18:54:05.246 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.247 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX orders_status_idx ON orders USING btree(status)
18:54:05.247 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.247 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE  orders IS 'Orders of products by customers.'
18:54:05.248 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.248 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.id IS 'The unique order identifier.'
18:54:05.248 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.248 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.object IS 'The serialized object type, set to "order".'
18:54:05.248 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.249 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.amount IS 'The order amount in the smallest unit of the currency.'
18:54:05.249 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.249 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.amountReturned IS 'The order amount returned in the smallest unit of the currency.'
18:54:05.249 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.249 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.charge IS 'The order transaction charge JSON object.'
18:54:05.250 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.250 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.created IS 'The order creation date.'
18:54:05.250 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.250 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.currency IS 'The order currency code.'
18:54:05.250 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.250 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.customer IS 'The order customer identifier.'
18:54:05.251 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.251 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.subject IS 'The order user or group subject identifier.'
18:54:05.251 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.251 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.email IS 'The order customer email.'
18:54:05.251 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.252 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.items IS 'The order items list JSON object.'
18:54:05.252 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.252 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.metadata IS 'The order metadata JSON object.'
18:54:05.252 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.252 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.name IS 'The order name set by the customer.'
18:54:05.253 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.253 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.status IS 'The order status (created, paid, canceled, fulfilled, returned.'
18:54:05.253 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.253 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.statusTransitions IS 'The order status/date transitions JSON object'
18:54:05.253 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.254 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.updated IS 'The order update date.'
18:54:05.254 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.254 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.seriesId IS 'The order series identifier to track renewals.'
18:54:05.254 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.254 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.startDate IS 'The order services start date.'
18:54:05.255 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.255 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.endDate IS 'The order services end date.'
18:54:05.255 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.255 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.6 - Create Orders Table
18:54:05.256 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:05.258 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.7 - Alter Quotas Add Order FK
18:54:05.258 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Add the order id foreign key constraint
ALTER TABLE quotas
    ADD CONSTRAINT quotas_order_id_fk
    FOREIGN KEY (orderId) REFERENCES orders (id) ON DELETE CASCADE
18:54:05.260 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.260 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.7 - Alter Quotas Add Order FK
18:54:05.262 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:05.263 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.8 - Alter Orders Add Customer FK
18:54:05.264 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Add the customer id foreign key constraint
ALTER TABLE orders
    ADD CONSTRAINT orders_customer_id_fk
    FOREIGN KEY (customer) REFERENCES customers (id) ON DELETE CASCADE
18:54:05.265 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.265 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.8 - Alter Orders Add Customer FK
18:54:05.266 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:05.268 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.9 - Create Usages Table
18:54:05.269 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the usages table
CREATE SEQUENCE IF NOT EXISTS usages_id_seq
18:54:05.269 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.269 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS usages (
    id integer DEFAULT nextval('usages_id_seq') PRIMARY KEY,
    object text NOT NULL,
    quotaId integer NOT NULL,
    instanceId text NOT NULL,
    quantity double precision NOT NULL,
    status text,
    nodeId text NOT NULL
)
18:54:05.271 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.271 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER SEQUENCE usages_id_seq OWNED BY usages.id
18:54:05.271 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.271 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX usages_quotaId_idx ON usages USING btree(quotaId)
18:54:05.272 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.272 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX usages_instanceId_idx ON usages USING btree(instanceId)
18:54:05.272 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.272 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER TABLE usages
    ADD CONSTRAINT usages_quotas_id_fk
    FOREIGN KEY (quotaId) REFERENCES quotas (id) ON DELETE CASCADE
18:54:05.273 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.274 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE  usages IS 'Usages records each instance a portion of a quota is used.'
18:54:05.274 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.274 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.id IS 'The unique usage identifier.'
18:54:05.274 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.274 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.object IS 'The serialized object type, set to "usage".'
18:54:05.274 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.275 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.quotaId IS 'The quota identifier.'
18:54:05.275 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.275 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.instanceId IS 'The instance identifier using a portion of the quota.'
18:54:05.275 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.275 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.quantity IS 'The quantity used by the instance, in the quota units.'
18:54:05.275 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.275 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.status IS 'The status of the usage, active or inactive.'
18:54:05.276 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.276 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.nodeId IS 'The quota node identifier".'
18:54:05.276 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.276 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.9 - Create Usages Table
18:54:05.277 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:05.279 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.10 - Create Function Update Quota Table Usage
18:54:05.279 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the update quota usage function for inserts and updates
CREATE OR REPLACE FUNCTION update_quota_usage_on_insert_or_update()
    RETURNS trigger
    AS $update_quota_usage_on_insert_or_update$
    BEGIN
        -- Check that quotaId is given
        IF NEW.quotaId IS NULL THEN
            RAISE EXCEPTION 'quotaId cannot be null';
        END IF;

        -- Update the quotas.totalUsage column
        UPDATE quotas q
            SET totalUsage = (SELECT SUM(u.quantity) FROM usages u WHERE u.status != 'inactive' AND u.quotaId = NEW.quotaId)
                WHERE q.id = NEW.quotaId;
        RETURN NEW;
    END;
    $update_quota_usage_on_insert_or_update$
    LANGUAGE plpgsql
18:54:05.281 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.281 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the update quota totalUsage trigger
DROP TRIGGER IF EXISTS update_quotas_usage_on_insert_or_update ON usages
18:54:05.283 [main] INFO org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - DB: trigger "update_quotas_usage_on_insert_or_update" for relation "usages" does not exist, skipping
18:54:05.283 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.283 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TRIGGER update_quotas_usage_on_insert_or_update AFTER INSERT OR UPDATE ON usages
    FOR EACH ROW
        EXECUTE PROCEDURE update_quota_usage_on_insert_or_update()
18:54:05.283 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.283 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the update quota totalUsage function for deletes
CREATE OR REPLACE FUNCTION update_quota_usage_on_delete()
    RETURNS trigger
    AS $update_quota_usage_on_delete$
    BEGIN
        -- Check that quotaId is given
        IF OLD.quotaId IS NULL THEN
            RAISE EXCEPTION 'quotaId cannot be null';
        END IF;

        -- Update the quotas.usage column
        UPDATE quotas q
            SET totalUsage = (SELECT SUM(u.quantity) FROM usages u WHERE u.status != 'inactive' AND u.quotaId = OLD.quotaId)
                WHERE q.id = OLD.quotaId;
        RETURN OLD;
    END;
    $update_quota_usage_on_delete$
    LANGUAGE plpgsql
18:54:05.284 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.284 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the update quota totalUsage trigger
DROP TRIGGER IF EXISTS update_quotas_usage_on_delete ON usages
18:54:05.284 [main] INFO org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - DB: trigger "update_quotas_usage_on_delete" for relation "usages" does not exist, skipping
18:54:05.284 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.284 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TRIGGER update_quotas_usage_on_delete AFTER DELETE ON usages
    FOR EACH ROW
        EXECUTE PROCEDURE update_quota_usage_on_delete()
18:54:05.285 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.285 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.10 - Create Function Update Quota Table Usage
18:54:05.286 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:05.287 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.11 - Alter Usages Add Unique Constraint
18:54:05.288 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Add a unique constraint to the usage table for the 'quotaid' + 'instanceid' columns
CREATE UNIQUE INDEX usages_quotaid_instanceid_idx
    ON usages USING btree(quotaid,instanceid)
18:54:05.288 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.288 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.11 - Alter Usages Add Unique Constraint
18:54:05.289 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:05.290 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.12 - Alter Quotas Add Unique Constraint OrderId QuotaType
18:54:05.291 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Add a unique constraint to the quotas table for the orderId and quotaType columns
CREATE UNIQUE INDEX quotas_order_id_quota_type_idx
    ON quotas USING btree(orderId, quotaType)
18:54:05.292 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:05.292 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.12 - Alter Quotas Add Unique Constraint OrderId QuotaType
18:54:05.293 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:05.294 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Successfully applied 13 migrations to schema "public" (execution time 00:00.156s)
18:54:05.295 [main] DEBUG org.flywaydb.core.Flyway - Memory usage: 42 of 232M
18:54:05.326 [main] DEBUG org.jboss.logging - Logging Provider: org.jboss.logging.Log4jLoggerProvider
18:54:05.327 [main] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 6.1.0.Final
18:54:05.334 [main] DEBUG org.hibernate.validator.internal.engine.resolver.TraversableResolvers - Cannot find javax.persistence.Persistence on classpath. Assuming non JPA 2 environment. All properties will per default be traversable.
18:54:05.349 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Adding value extractor io.dropwizard.validation.valuehandling.GuavaOptionalValueExtractor@297ea53a
18:54:05.349 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Setting custom ConstraintValidatorFactory of type io.dropwizard.jersey.validation.MutableValidatorFactory
18:54:05.350 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Setting custom ParameterNameProvider of type io.dropwizard.jersey.validation.JerseyParameterNameProvider
18:54:05.353 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Adding value extractor io.dropwizard.jersey.validation.NonEmptyStringParamValueExtractor@3a320ade
18:54:05.354 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Adding value extractor io.dropwizard.jersey.validation.ParamValueExtractor@21005f6c
18:54:05.357 [main] DEBUG org.hibernate.validator.internal.xml.config.ValidationXmlParser - Trying to load META-INF/validation.xml for XML based Validator configuration.
18:54:05.359 [main] DEBUG org.hibernate.validator.internal.xml.config.ResourceLoaderHelper - Trying to load META-INF/validation.xml via TCCL
18:54:05.359 [main] DEBUG org.hibernate.validator.internal.xml.config.ResourceLoaderHelper - Trying to load META-INF/validation.xml via Hibernate Validator's class loader
18:54:05.360 [main] DEBUG org.hibernate.validator.internal.xml.config.ValidationXmlParser - No META-INF/validation.xml found. Using annotation based configuration only.
18:54:05.385 [main] DEBUG org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator - Loaded expression factory via original TCCL
18:54:05.472 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000252: Using org.hibernate.validator.internal.engine.DefaultPropertyNodeNameProvider as property node name provider.
18:54:05.478 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator as ValidatorFactory-scoped message interpolator.
18:54:05.478 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.internal.engine.resolver.TraverseAllTraversableResolver as ValidatorFactory-scoped traversable resolver.
18:54:05.478 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.internal.util.ExecutableParameterNameProvider as ValidatorFactory-scoped parameter name provider.
18:54:05.478 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.internal.engine.DefaultClockProvider as ValidatorFactory-scoped clock provider.
18:54:05.478 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.internal.engine.scripting.DefaultScriptEvaluatorFactory as ValidatorFactory-scoped script evaluator factory.
18:54:05.505 [main] DEBUG org.eclipse.jetty.util.log - Logging to Logger[org.eclipse.jetty.util.log] via org.eclipse.jetty.util.log.Slf4jLog
18:54:05.507 [main] INFO org.eclipse.jetty.util.log - Logging initialized @6441ms to org.eclipse.jetty.util.log.Slf4jLog
18:54:05.556 [main] DEBUG org.eclipse.jetty.util.DecoratedObjectFactory - Adding Decorator: org.eclipse.jetty.util.DeprecationWarning@5aa6202e
18:54:05.560 [main] DEBUG org.eclipse.jetty.util.component.ContainerLifeCycle - i.d.j.MutableServletContextHandler@5b69d40d{/,null,UNAVAILABLE} added {ServletHandler@71154f21{STOPPED},MANAGED}
18:54:05.562 [main] DEBUG org.eclipse.jetty.util.DecoratedObjectFactory - Adding Decorator: org.eclipse.jetty.util.DeprecationWarning@347bdeef
18:54:05.562 [main] DEBUG org.eclipse.jetty.util.component.ContainerLifeCycle - i.d.j.MutableServletContextHandler@2aa27288{/,null,UNAVAILABLE} added {ServletHandler@7f34a967{STOPPED},MANAGED}
18:54:06.240 [main] DEBUG org.flywaydb.core.Flyway - DDL Transactions Supported: true
18:54:06.240 [main] DEBUG org.flywaydb.core.Flyway - Schema: public
18:54:06.240 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning for classpath resources at 'classpath:db/migrations' ...
18:54:06.240 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Determining location urls for classpath:db/migrations using ClassLoader sun.misc.Launcher$AppClassLoader@7f31245a ...
18:54:06.241 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning URL: file:/var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/db/migrations
18:54:06.241 [main] DEBUG org.flywaydb.core.internal.util.FeatureDetector - JBoss VFS v2 available: false
18:54:06.241 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.FileSystemClassPathLocationScanner - Scanning starting at classpath root in filesystem: /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/
18:54:06.241 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.FileSystemClassPathLocationScanner - Scanning for resources in path: /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/db/migrations (db/migrations)
18:54:06.241 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.0__Create_Bookkeeper_Database.sql
18:54:06.241 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.10__Create_Function_Update_Quota_Table_Usage.sql
18:54:06.241 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.11__Alter_Usages_Add_Unique_Constraint.sql
18:54:06.241 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql
18:54:06.241 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.1__Create_Quotas_Table.sql
18:54:06.241 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.2__Insert_Standard_Quotas.sql
18:54:06.241 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.3__Create_Customers_Table.sql
18:54:06.241 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.4__Create_Products_Table.sql
18:54:06.242 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.5__Insert_Standard_Products.sql
18:54:06.242 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.6__Create_Orders_Table.sql
18:54:06.242 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.7__Alter_Quotas_Add_Order_FK.sql
18:54:06.242 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.8__Alter_Orders_Add_Customer_FK.sql
18:54:06.242 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.9__Create_Usages_Table.sql
18:54:06.242 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning for classes at classpath:db/migrations
18:54:06.242 [main] DEBUG org.flywaydb.core.internal.callback.SqlScriptCallbackFactory - Scanning for SQL callbacks ...
18:54:06.242 [main] DEBUG org.flywaydb.core.internal.util.FeatureDetector - Spring Jdbc available: false
18:54:06.247 [main] DEBUG org.flywaydb.core.internal.command.DbClean - Cleaning schema "public" ...
18:54:06.273 [main] INFO org.flywaydb.core.internal.command.DbClean - Successfully cleaned schema "public" (execution time 00:00.025s)
18:54:06.274 [main] DEBUG org.flywaydb.core.Flyway - Memory usage: 94 of 310M
18:54:06.376 [log:pid(19765)] INFO init-0e18c859-4244-4e92-abb0-73bf5ccce601:pg_ctl - waiting for server to shut down.... done
18:54:06.376 [log:pid(19765)] INFO init-0e18c859-4244-4e92-abb0-73bf5ccce601:pg_ctl - server stopped
18:54:06.377 [main] INFO com.opentable.db.postgres.embedded.EmbeddedPostgres - 0e18c859-4244-4e92-abb0-73bf5ccce601 shut down postmaster in 00:00:00.103
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.63 s - in org.dataone.bookkeeper.jdbi.ProductStoreTest
[INFO] Running org.dataone.bookkeeper.jdbi.QuotaStoreTest
18:54:07.133 [log:pid(19769)] INFO init-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee:initdb - The files belonging to this database system will be owned by user "jenkins".
18:54:07.133 [log:pid(19769)] INFO init-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee:initdb - This user must also own the server process.
18:54:07.133 [log:pid(19769)] INFO init-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee:initdb - 
18:54:07.133 [log:pid(19769)] INFO init-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee:initdb - The database cluster will be initialized with locale "en_US.UTF-8".
18:54:07.133 [log:pid(19769)] INFO init-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee:initdb - The default text search configuration will be set to "english".
18:54:07.133 [log:pid(19769)] INFO init-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee:initdb - 
18:54:07.133 [log:pid(19769)] INFO init-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee:initdb - Data page checksums are disabled.
18:54:07.133 [log:pid(19769)] INFO init-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee:initdb - 
18:54:07.133 [log:pid(19769)] INFO init-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee:initdb - fixing permissions on existing directory /tmp/epg9048904827694322843 ... ok
18:54:07.134 [log:pid(19769)] INFO init-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee:initdb - creating subdirectories ... ok
18:54:07.153 [log:pid(19769)] INFO init-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee:initdb - selecting default max_connections ... 100
18:54:07.166 [log:pid(19769)] INFO init-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee:initdb - selecting default shared_buffers ... 128MB
18:54:07.167 [log:pid(19769)] INFO init-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee:initdb - selecting dynamic shared memory implementation ... posix
18:54:07.239 [log:pid(19769)] INFO init-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee:initdb - creating configuration files ... ok
18:54:07.358 [log:pid(19769)] INFO init-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee:initdb - running bootstrap script ... ok
18:54:07.755 [log:pid(19769)] INFO init-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee:initdb - performing post-bootstrap initialization ... ok
18:54:07.978 [log:pid(19769)] INFO init-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee:initdb - syncing data to disk ... ok
18:54:07.978 [log:pid(19769)] INFO init-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee:initdb - 
18:54:07.978 [log:pid(19769)] INFO init-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee:initdb - Success. You can now start the database server using:
18:54:07.978 [log:pid(19769)] INFO init-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee:initdb - 
18:54:07.978 [log:pid(19769)] INFO init-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee:initdb -     /tmp/embedded-pg/PG-06e3a92a2edb6ddd6dbdf5602d0252ca/bin/pg_ctl -D /tmp/epg9048904827694322843 -l logfile start
18:54:07.978 [log:pid(19769)] INFO init-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee:initdb - 
18:54:07.979 [main] INFO com.opentable.db.postgres.embedded.EmbeddedPostgres - c40eabdb-1a9d-47fe-b515-59adcc1fe7ee initdb completed in 00:00:00.854
18:54:07.981 [main] INFO com.opentable.db.postgres.embedded.EmbeddedPostgres - c40eabdb-1a9d-47fe-b515-59adcc1fe7ee postmaster started as java.lang.UNIXProcess@323f3c96 on port 5432.  Waiting up to PT10S for server startup to finish.
18:54:07.992 [log:pid(19785)] INFO pg-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee - waiting for server to start....2020-10-28 18:54:07.991 UTC [19789] LOG:  listening on IPv6 address "::1", port 5432
18:54:07.992 [log:pid(19785)] INFO pg-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee - 2020-10-28 18:54:07.991 UTC [19789] LOG:  listening on IPv4 address "127.0.0.1", port 5432
18:54:07.992 [log:pid(19785)] INFO pg-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee - 2020-10-28 18:54:07.991 UTC [19789] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
18:54:08.028 [log:pid(19785)] INFO pg-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee - 2020-10-28 18:54:08.027 UTC [19790] LOG:  database system was shut down at 2020-10-28 18:54:07 UTC
18:54:08.030 [log:pid(19785)] INFO pg-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee - 2020-10-28 18:54:08.030 UTC [19789] LOG:  database system is ready to accept connections
18:54:08.084 [log:pid(19785)] INFO pg-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee - 2020-10-28 18:54:08.083 UTC [19797] LOG:  incomplete startup packet
18:54:08.087 [log:pid(19785)] INFO pg-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee -  done
18:54:08.087 [log:pid(19785)] INFO pg-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee - server started
18:54:08.092 [main] INFO com.opentable.db.postgres.embedded.EmbeddedPostgres - c40eabdb-1a9d-47fe-b515-59adcc1fe7ee postmaster startup finished in 00:00:00.112
18:54:08.101 [main] INFO org.flywaydb.core.internal.database.DatabaseFactory - Database: jdbc:postgresql://localhost:5432/postgres (PostgreSQL 10.6)
18:54:08.101 [main] DEBUG org.flywaydb.core.internal.database.DatabaseFactory - Driver  : PostgreSQL JDBC Driver 42.2.6
18:54:08.102 [main] DEBUG org.flywaydb.core.Flyway - DDL Transactions Supported: true
18:54:08.102 [main] DEBUG org.flywaydb.core.Flyway - Schema: public
18:54:08.102 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning for classpath resources at 'classpath:db/migrations' ...
18:54:08.102 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Determining location urls for classpath:db/migrations using ClassLoader sun.misc.Launcher$AppClassLoader@7f31245a ...
18:54:08.103 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning URL: file:/var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/db/migrations
18:54:08.103 [main] DEBUG org.flywaydb.core.internal.util.FeatureDetector - JBoss VFS v2 available: false
18:54:08.103 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.FileSystemClassPathLocationScanner - Scanning starting at classpath root in filesystem: /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/
18:54:08.103 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.FileSystemClassPathLocationScanner - Scanning for resources in path: /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/db/migrations (db/migrations)
18:54:08.104 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.0__Create_Bookkeeper_Database.sql
18:54:08.104 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.10__Create_Function_Update_Quota_Table_Usage.sql
18:54:08.104 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.11__Alter_Usages_Add_Unique_Constraint.sql
18:54:08.104 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql
18:54:08.104 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.1__Create_Quotas_Table.sql
18:54:08.104 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.2__Insert_Standard_Quotas.sql
18:54:08.104 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.3__Create_Customers_Table.sql
18:54:08.104 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.4__Create_Products_Table.sql
18:54:08.104 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.5__Insert_Standard_Products.sql
18:54:08.104 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.6__Create_Orders_Table.sql
18:54:08.104 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.7__Alter_Quotas_Add_Order_FK.sql
18:54:08.104 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.8__Alter_Orders_Add_Customer_FK.sql
18:54:08.104 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.9__Create_Usages_Table.sql
18:54:08.104 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning for classes at classpath:db/migrations
18:54:08.104 [main] DEBUG org.flywaydb.core.internal.callback.SqlScriptCallbackFactory - Scanning for SQL callbacks ...
18:54:08.104 [main] DEBUG org.flywaydb.core.internal.util.FeatureDetector - Spring Jdbc available: false
18:54:08.109 [main] DEBUG org.flywaydb.core.internal.command.DbValidate - Validating migrations ...
18:54:08.109 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.0__Create_Bookkeeper_Database.sql ...
18:54:08.110 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.10__Create_Function_Update_Quota_Table_Usage.sql ...
18:54:08.111 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the update quota usage function for inserts and updates
CREATE OR REPLACE FUNCTION update_quota_usage_on_insert_or_update()
    RETURNS trigger
    AS $update_quota_usage_on_insert_or_update$
    BEGIN
        -- Check that quotaId is given
        IF NEW.quotaId IS NULL THEN
            RAISE EXCEPTION 'quotaId cannot be null';
        END IF;

        -- Update the quotas.totalUsage column
        UPDATE quotas q
            SET totalUsage = (SELECT SUM(u.quantity) FROM usages u WHERE u.status != 'inactive' AND u.quotaId = NEW.quotaId)
                WHERE q.id = NEW.quotaId;
        RETURN NEW;
    END;
    $update_quota_usage_on_insert_or_update$
    LANGUAGE plpgsql
18:54:08.111 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 23: --- Create the update quota totalUsage trigger
DROP TRIGGER IF EXISTS update_quotas_usage_on_insert_or_update ON usages
18:54:08.111 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 25: CREATE TRIGGER update_quotas_usage_on_insert_or_update AFTER INSERT OR UPDATE ON usages
    FOR EACH ROW
        EXECUTE PROCEDURE update_quota_usage_on_insert_or_update()
18:54:08.111 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: --- Create the update quota totalUsage function for deletes
CREATE OR REPLACE FUNCTION update_quota_usage_on_delete()
    RETURNS trigger
    AS $update_quota_usage_on_delete$
    BEGIN
        -- Check that quotaId is given
        IF OLD.quotaId IS NULL THEN
            RAISE EXCEPTION 'quotaId cannot be null';
        END IF;

        -- Update the quotas.usage column
        UPDATE quotas q
            SET totalUsage = (SELECT SUM(u.quantity) FROM usages u WHERE u.status != 'inactive' AND u.quotaId = OLD.quotaId)
                WHERE q.id = OLD.quotaId;
        RETURN OLD;
    END;
    $update_quota_usage_on_delete$
    LANGUAGE plpgsql
18:54:08.111 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 48: --- Create the update quota totalUsage trigger
DROP TRIGGER IF EXISTS update_quotas_usage_on_delete ON usages
18:54:08.111 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 50: CREATE TRIGGER update_quotas_usage_on_delete AFTER DELETE ON usages
    FOR EACH ROW
        EXECUTE PROCEDURE update_quota_usage_on_delete()
18:54:08.112 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.11__Alter_Usages_Add_Unique_Constraint.sql ...
18:54:08.112 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Add a unique constraint to the usage table for the 'quotaid' + 'instanceid' columns
CREATE UNIQUE INDEX usages_quotaid_instanceid_idx
    ON usages USING btree(quotaid,instanceid)
18:54:08.112 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql ...
18:54:08.112 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Add a unique constraint to the quotas table for the orderId and quotaType columns
CREATE UNIQUE INDEX quotas_order_id_quota_type_idx
    ON quotas USING btree(orderId, quotaType)
18:54:08.113 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.1__Create_Quotas_Table.sql ...
18:54:08.113 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the quotas table
CREATE SEQUENCE IF NOT EXISTS quotas_id_seq
18:54:08.113 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS quotas (
    id integer DEFAULT nextval('quotas_id_seq') PRIMARY KEY,
    object text NOT NULL,
    quotaType text NOT NULL,
    softLimit double precision NOT NULL,
    hardLimit double precision NOT NULL,
    totalUsage double precision,
    unit text NOT NULL,
    orderId integer,
    subject text,
    name text
)
18:54:08.113 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 19: ALTER SEQUENCE quotas_id_seq OWNED BY quotas.id
18:54:08.113 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 21: CREATE INDEX quotas_quotaType_idx ON quotas USING btree(quotaType)
18:54:08.113 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 22: CREATE INDEX quotas_orderId_idx ON quotas USING btree(orderId)
18:54:08.113 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 23: CREATE INDEX quotas_subject_idx ON quotas USING btree(subject)
18:54:08.113 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 25: COMMENT ON TABLE quotas IS 'Quotas limiting resources for products per customer. Quotas may be associated with products or customers by their ids.'
18:54:08.113 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 26: COMMENT ON COLUMN quotas.id IS 'The unique quota identifier'
18:54:08.113 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 27: COMMENT ON COLUMN quotas.object IS 'The serialized object type, set to "quota"'
18:54:08.113 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 28: COMMENT ON COLUMN quotas.quotaType IS 'The quota type'
18:54:08.114 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: COMMENT ON COLUMN quotas.softLimit IS 'The soft limit of the resource.'
18:54:08.114 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 30: COMMENT ON COLUMN quotas.hardLimit IS 'The hard limit of the resource.'
18:54:08.114 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: COMMENT ON COLUMN quotas.totalUsage IS 'The current observed total usage of the quota.'
18:54:08.114 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: COMMENT ON COLUMN quotas.unit IS 'The named unit of the quota.'
18:54:08.114 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 33: COMMENT ON COLUMN quotas.orderId IS 'The order id to which the quota is applied.'
18:54:08.114 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 34: COMMENT ON COLUMN quotas.subject IS 'The subject identifier to which the quota is applied.'
18:54:08.114 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 35: COMMENT ON COLUMN quotas.name IS 'The quota name, copied from the order name.'
18:54:08.114 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.2__Insert_Standard_Quotas.sql ...
18:54:08.114 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 3: -- 1GB base storage limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'storage', 1073741824.0, 1181116006.4, NULL, 'byte', NULL, NULL)
18:54:08.114 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: -- 1TB base hosted repository storage limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'repository_storage', 1099511627776.0, 1209462790553.6, NULL, 'byte', NULL,
    NULL)
18:54:08.115 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 12: -- Single base branded portal limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'portal', 1.0, 1.0, NULL, 'portal', NULL, NULL)
18:54:08.115 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.3__Create_Customers_Table.sql ...
18:54:08.115 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the customers table
CREATE SEQUENCE customers_id_seq
18:54:08.115 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS customers (
    id integer DEFAULT nextval('customers_id_seq') PRIMARY KEY,
    object text NOT NULL,
    subject text NOT NULL,
    balance integer,
    address json,
    created timestamp with time zone,
    currency text,
    delinquent boolean,
    description text,
    discount json,
    email text,
    invoicePrefix text,
    invoiceSettings json,
    metadata json,
    givenName text,
    surName text,
    phone text
)
18:54:08.115 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 26: ALTER SEQUENCE customers_id_seq OWNED BY customers.id
18:54:08.115 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 27: CREATE INDEX customers_subject_idx ON customers USING btree(subject)
18:54:08.116 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 28: CREATE INDEX customers_email_idx ON customers USING btree(email)
18:54:08.116 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 30: COMMENT ON TABLE customers IS 'Customers that have ordered products and have quotas.'
18:54:08.116 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: COMMENT ON COLUMN customers.id IS 'The unique customer identifier.'
18:54:08.116 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: COMMENT ON COLUMN customers.object IS 'The serialized object type, set to "customer".'
18:54:08.116 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 33: COMMENT ON COLUMN customers.subject IS 'The unique customer Subject identifier.'
18:54:08.116 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 34: COMMENT ON COLUMN customers.balance IS 'The customer balance, in the smallest unit of the currency (i.e. USD cents).'
18:54:08.116 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 35: COMMENT ON COLUMN customers.address IS 'The customer address, stored as a JSON address object.'
18:54:08.116 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 36: COMMENT ON COLUMN customers.created IS 'The customer creation date.'
18:54:08.116 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 37: COMMENT ON COLUMN customers.currency IS 'The customer currency, defaults to "USD".'
18:54:08.116 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 38: COMMENT ON COLUMN customers.delinquent IS 'The customer delinquency status, true or false'
18:54:08.116 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 39: COMMENT ON COLUMN customers.description IS 'The customer description'
18:54:08.116 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 40: COMMENT ON COLUMN customers.discount IS 'The customer discount, stored as a JSON Discount object.'
18:54:08.116 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 41: COMMENT ON COLUMN customers.email IS 'The customer email address.'
18:54:08.116 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 42: COMMENT ON COLUMN customers.invoicePrefix IS 'The customer invoice prefix'
18:54:08.116 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 43: COMMENT ON COLUMN customers.invoiceSettings IS 'The customer settings, stored as a JSON InvoiceSettings object'
18:54:08.116 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 44: COMMENT ON COLUMN customers.metadata IS 'The customer metadata, stored as a JSON object (undefined as of yet)'
18:54:08.116 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 45: COMMENT ON COLUMN customers.givenName IS 'The customer given name'
18:54:08.116 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 46: COMMENT ON COLUMN customers.surName IS 'The customer surname'
18:54:08.116 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 47: COMMENT ON COLUMN customers.phone IS 'The customer phone'
18:54:08.117 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.4__Create_Products_Table.sql ...
18:54:08.117 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the products table
CREATE SEQUENCE products_id_seq
18:54:08.117 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS products (
    id integer DEFAULT nextval('products_id_seq') PRIMARY KEY,
    object text NOT NULL,
    active boolean,
    amount integer NOT NULL,
    name text,
    caption text,
    currency text NOT NULL,
    description text,
    interval text NOT NULL,
    created timestamp with time zone,
    statementDescriptor text,
    type text,
    unitLabel text,
    url text,
    metadata json
)
18:54:08.117 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 24: ALTER SEQUENCE products_id_seq OWNED BY products.id
18:54:08.117 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 26: CREATE INDEX products_active_idx ON products USING btree(active)
18:54:08.117 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 27: CREATE INDEX products_name_idx ON products USING btree(name)
18:54:08.117 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 28: CREATE INDEX products_caption_idx ON products USING btree(caption)
18:54:08.117 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: CREATE INDEX products_description_idx ON products USING btree(description)
18:54:08.117 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: COMMENT ON TABLE  products IS 'Products that are offered as services.'
18:54:08.118 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: COMMENT ON COLUMN products.id IS 'The unique product identifier'
18:54:08.118 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 33: COMMENT ON COLUMN products.object IS 'The serialized object type, set to "product"'
18:54:08.118 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 34: COMMENT ON COLUMN products.active IS 'The active status for the product, true or false.'
18:54:08.118 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 35: COMMENT ON COLUMN products.amount IS 'The cost amount for the product, in pence of the currency'
18:54:08.118 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 36: COMMENT ON COLUMN products.name IS 'The product name.'
18:54:08.118 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 37: COMMENT ON COLUMN products.caption IS 'The product caption, used for display.'
18:54:08.118 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 38: COMMENT ON COLUMN products.currency IS 'The product currency as a 3-letter ISO currency code.'
18:54:08.118 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 39: COMMENT ON COLUMN products.description IS 'The product general description.'
18:54:08.118 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 40: COMMENT ON COLUMN products.interval IS 'The product payment interval (day, week, month, year).'
18:54:08.118 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 41: COMMENT ON COLUMN products.created IS 'The product creation date.'
18:54:08.118 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 42: COMMENT ON COLUMN products.statementDescriptor IS 'The product statement descriptor used on charge statements.'
18:54:08.118 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 43: COMMENT ON COLUMN products.type IS 'The product type, either service or good.'
18:54:08.118 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 44: COMMENT ON COLUMN products.unitLabel IS 'The product unit label.'
18:54:08.118 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 45: COMMENT ON COLUMN products.url IS 'The product URL used for more information.'
18:54:08.118 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 46: COMMENT ON COLUMN products.metadata IS 'The product metadata JSON object, currently a feature list.'
18:54:08.118 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.5__Insert_Standard_Products.sql ...
18:54:08.119 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 3: --- Individual Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    32000,
    'Faculty or research lab',
    now(),
    'USD',
    'Create a customized portal for your work and projects. Help others understand and access your data.',
    'year',
    'Individual',
    'DataONE Membership Plan - Individual',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "1","hardLimit": "1","totalUsage": "0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:08.120 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 24: --- Small Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    200000,
    'Small institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Small Organization',
    'DataONE Membership Plan - Small Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "5","hardLimit": "5","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:08.121 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 44: --- Medium Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    600000,
    'Medium institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Medium Organization',
    'DataONE Membership Plan - Medium Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "15","hardLimit": "15","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:08.121 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 64: --- Large Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    2800000,
    'Large institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Large Organization',
    'DataONE Membership Plan - Large Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "branded_portal","softLimit": "50","hardLimit": "50","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:08.122 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 84: -- Hosted Repository
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    'true',
    1200000,
    'A dedicated repository solution for your group or institution’s data, managed by DataONE',
    now(),
    'USD',
    'Bring the products of your research lab, field station, or library together in a centralized location for efficient sharing, access, and reuse. Accelerate research activity, foster new collaborations, and build community with a repository that meets your needs and reflects your brand.',
    'year',
    'DataONE Hosted Repository',
    'DataONE Hosted Repository',
    'service',
    'repository',
    'https://products.dataone.org/hostedrepo',
    '{"features": [{"name": "trusted_data_repository","label": "A Trusted Data Repository","description": "Preserve and share your data, software, and derived products in a dedicated repository system. Built on our robust and expertly managed repository software and hardware, your research products are safely inactive and easily accessible."},{"name": "individual_fair_Assessments","label": "Individual FAIR Assessments","description": "Evaluate your metadata with community established FAIR principles. Scores are refreshed with updates to your metadata, helping make your data even more Findable, Accessible, Interoperable, and Reusable."},{"name": "powerful_online_submission","label": "Powerful Online Submission","description": "The user friendly data submission tool helps your researchers efficiently upload and describe their data. Users can easily create detailed metadata to enhance interoperability, reusability, and value of data."},{"name": "comprehensive_search","label": "Comprehensive Search","description": "Quickly find data with detailed search filters, or by navigating the interactive map."},{"name": "usage_metrics","label": "Usage Metrics","description": "Understand how your data are being used over time with view, download, and citation metrics."},{"name": "usage_metrics","label": "Usage Metrics","description": "Understand how your data are being used over time with view, download, and citation metrics."},{"name": "expandable_storage","label": "Expandable Storage","description": "Grow your repository capacity based on your storage needs in 1 TB increments.","quota": {"object": "quota","quotaType": "repository_storage","softLimit": 1048576,"hardLimit": 1153434,"totalUsage": 0,"unit": "portal"}},{"name": "geographic_replicas","label": "Geographic Replicas","description": "Your data are replicated to distinct geographic regions for high availability and preservation."},{"name": "api_access","label": "API Access","description": "Programmatically work with your repository through the DataONE tools in R, Python, Matlab, and Java."},{"name": "link_data_and_software","label": "Link data and Software","description": "Easily show how your files relate to each other by providing well-described provenance workflows."},{"name": "private_and_public_access","label": "Private and Public Access","description": "Control access to your datasets\nprior to publication with private groups or just yourself."},{"name": "private_and_public_access","label": "Private and Public Access","description": "Control access to your datasets\nprior to publication with private groups or just yourself."},{"name": "any_file_format","label": "Any File Format","description": "Use the scientific file formats for your community: image, tabular, text, audio, video, and others."},{"name": "share_when_ready","label": "Share When Ready","description": "Keep your dataset private while you document it thoroughly, and then make it public when you are ready."}]}'
)
18:54:08.123 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 104: -- Archival Storage
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    'true',
    126000,
    'Additional High Availability Data Storage',
    now(),
    'USD',
    'Increase the available storage in your dedicated hosted repository in 1 TB increments.',
    'year',
    'Additional Data Storage',
    'Additional Data Storage',
    'service',
    'storage',
    'https://products.dataone.org/hostedrepo',
    '{}'
)
18:54:08.123 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.6__Create_Orders_Table.sql ...
18:54:08.124 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the orders table
CREATE SEQUENCE orders_id_seq
18:54:08.124 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS orders (
    id integer DEFAULT nextval('orders_id_seq') PRIMARY KEY,
    object text NOT NULL,
    amount integer,
    amountReturned integer,
    charge json,
    created timestamp with time zone,
    currency text,
    customer integer,
    subject text,
    email text,
    items json,
    metadata json,
    name text,
    status text,
    statusTransitions json,
    updated timestamp with time zone,
    seriesId text,
    startDate timestamp with time zone,
    endDate timestamp with time zone
)
18:54:08.124 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: CREATE INDEX orders_customer_idx ON orders USING btree(customer)
18:54:08.124 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 30: CREATE INDEX orders_subject_idx ON orders USING btree(subject)
18:54:08.124 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: CREATE INDEX orders_email_idx ON orders USING btree(email)
18:54:08.124 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: CREATE INDEX orders_status_idx ON orders USING btree(status)
18:54:08.124 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 34: COMMENT ON TABLE  orders IS 'Orders of products by customers.'
18:54:08.124 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 35: COMMENT ON COLUMN orders.id IS 'The unique order identifier.'
18:54:08.124 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 36: COMMENT ON COLUMN orders.object IS 'The serialized object type, set to "order".'
18:54:08.124 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 37: COMMENT ON COLUMN orders.amount IS 'The order amount in the smallest unit of the currency.'
18:54:08.124 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 38: COMMENT ON COLUMN orders.amountReturned IS 'The order amount returned in the smallest unit of the currency.'
18:54:08.124 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 39: COMMENT ON COLUMN orders.charge IS 'The order transaction charge JSON object.'
18:54:08.124 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 40: COMMENT ON COLUMN orders.created IS 'The order creation date.'
18:54:08.125 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 41: COMMENT ON COLUMN orders.currency IS 'The order currency code.'
18:54:08.125 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 42: COMMENT ON COLUMN orders.customer IS 'The order customer identifier.'
18:54:08.125 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 43: COMMENT ON COLUMN orders.subject IS 'The order user or group subject identifier.'
18:54:08.125 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 44: COMMENT ON COLUMN orders.email IS 'The order customer email.'
18:54:08.125 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 45: COMMENT ON COLUMN orders.items IS 'The order items list JSON object.'
18:54:08.125 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 46: COMMENT ON COLUMN orders.metadata IS 'The order metadata JSON object.'
18:54:08.125 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 47: COMMENT ON COLUMN orders.name IS 'The order name set by the customer.'
18:54:08.125 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 48: COMMENT ON COLUMN orders.status IS 'The order status (created, paid, canceled, fulfilled, returned.'
18:54:08.125 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 49: COMMENT ON COLUMN orders.statusTransitions IS 'The order status/date transitions JSON object'
18:54:08.125 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 50: COMMENT ON COLUMN orders.updated IS 'The order update date.'
18:54:08.125 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 51: COMMENT ON COLUMN orders.seriesId IS 'The order series identifier to track renewals.'
18:54:08.125 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 52: COMMENT ON COLUMN orders.startDate IS 'The order services start date.'
18:54:08.125 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 53: COMMENT ON COLUMN orders.endDate IS 'The order services end date.'
18:54:08.125 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.7__Alter_Quotas_Add_Order_FK.sql ...
18:54:08.126 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Add the order id foreign key constraint
ALTER TABLE quotas
    ADD CONSTRAINT quotas_order_id_fk
    FOREIGN KEY (orderId) REFERENCES orders (id) ON DELETE CASCADE
18:54:08.126 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.8__Alter_Orders_Add_Customer_FK.sql ...
18:54:08.126 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Add the customer id foreign key constraint
ALTER TABLE orders
    ADD CONSTRAINT orders_customer_id_fk
    FOREIGN KEY (customer) REFERENCES customers (id) ON DELETE CASCADE
18:54:08.126 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.9__Create_Usages_Table.sql ...
18:54:08.126 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the usages table
CREATE SEQUENCE IF NOT EXISTS usages_id_seq
18:54:08.127 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS usages (
    id integer DEFAULT nextval('usages_id_seq') PRIMARY KEY,
    object text NOT NULL,
    quotaId integer NOT NULL,
    instanceId text NOT NULL,
    quantity double precision NOT NULL,
    status text,
    nodeId text NOT NULL
)
18:54:08.127 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 16: ALTER SEQUENCE usages_id_seq OWNED BY usages.id
18:54:08.127 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 18: CREATE INDEX usages_quotaId_idx ON usages USING btree(quotaId)
18:54:08.127 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 19: CREATE INDEX usages_instanceId_idx ON usages USING btree(instanceId)
18:54:08.127 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 21: ALTER TABLE usages
    ADD CONSTRAINT usages_quotas_id_fk
    FOREIGN KEY (quotaId) REFERENCES quotas (id) ON DELETE CASCADE
18:54:08.127 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 25: COMMENT ON TABLE  usages IS 'Usages records each instance a portion of a quota is used.'
18:54:08.127 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 26: COMMENT ON COLUMN usages.id IS 'The unique usage identifier.'
18:54:08.127 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 27: COMMENT ON COLUMN usages.object IS 'The serialized object type, set to "usage".'
18:54:08.127 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 28: COMMENT ON COLUMN usages.quotaId IS 'The quota identifier.'
18:54:08.127 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: COMMENT ON COLUMN usages.instanceId IS 'The instance identifier using a portion of the quota.'
18:54:08.127 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 30: COMMENT ON COLUMN usages.quantity IS 'The quantity used by the instance, in the quota units.'
18:54:08.127 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: COMMENT ON COLUMN usages.status IS 'The status of the usage, active or inactive.'
18:54:08.127 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: COMMENT ON COLUMN usages.nodeId IS 'The quota node identifier".'
18:54:08.127 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.0__Create_Bookkeeper_Database.sql (filename: V1.0__Create_Bookkeeper_Database.sql)
18:54:08.127 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.10__Create_Function_Update_Quota_Table_Usage.sql (filename: V1.10__Create_Function_Update_Quota_Table_Usage.sql)
18:54:08.127 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.11__Alter_Usages_Add_Unique_Constraint.sql (filename: V1.11__Alter_Usages_Add_Unique_Constraint.sql)
18:54:08.127 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql (filename: V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql)
18:54:08.127 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.1__Create_Quotas_Table.sql (filename: V1.1__Create_Quotas_Table.sql)
18:54:08.127 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.2__Insert_Standard_Quotas.sql (filename: V1.2__Insert_Standard_Quotas.sql)
18:54:08.128 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.3__Create_Customers_Table.sql (filename: V1.3__Create_Customers_Table.sql)
18:54:08.128 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.4__Create_Products_Table.sql (filename: V1.4__Create_Products_Table.sql)
18:54:08.128 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.5__Insert_Standard_Products.sql (filename: V1.5__Insert_Standard_Products.sql)
18:54:08.128 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.6__Create_Orders_Table.sql (filename: V1.6__Create_Orders_Table.sql)
18:54:08.128 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.7__Alter_Quotas_Add_Order_FK.sql (filename: V1.7__Alter_Quotas_Add_Order_FK.sql)
18:54:08.128 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.8__Alter_Orders_Add_Customer_FK.sql (filename: V1.8__Alter_Orders_Add_Customer_FK.sql)
18:54:08.128 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.9__Create_Usages_Table.sql (filename: V1.9__Create_Usages_Table.sql)
18:54:08.130 [main] INFO org.flywaydb.core.internal.command.DbValidate - Successfully validated 13 migrations (execution time 00:00.020s)
18:54:08.130 [main] DEBUG org.flywaydb.core.internal.command.DbSchemas - Schema "public" already exists. Skipping schema creation.
18:54:08.138 [main] INFO org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Creating Schema History table: "public"."flyway_schema_history"
18:54:08.138 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing createMetaDataTable.sql ...
18:54:08.139 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 17: CREATE TABLE "public"."flyway_schema_history" (
    "installed_rank" INT NOT NULL,
    "version" VARCHAR(50),
    "description" VARCHAR(200) NOT NULL,
    "type" VARCHAR(20) NOT NULL,
    "script" VARCHAR(1000) NOT NULL,
    "checksum" INTEGER,
    "installed_by" VARCHAR(100) NOT NULL,
    "installed_on" TIMESTAMP NOT NULL DEFAULT now(),
    "execution_time" INTEGER NOT NULL,
    "success" BOOLEAN NOT NULL
)
18:54:08.140 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: ALTER TABLE "public"."flyway_schema_history" ADD CONSTRAINT "flyway_schema_history_pk" PRIMARY KEY ("installed_rank")
18:54:08.140 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: CREATE INDEX "flyway_schema_history_s_idx" ON "public"."flyway_schema_history" ("success")
18:54:08.140 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE "public"."flyway_schema_history" (
    "installed_rank" INT NOT NULL,
    "version" VARCHAR(50),
    "description" VARCHAR(200) NOT NULL,
    "type" VARCHAR(20) NOT NULL,
    "script" VARCHAR(1000) NOT NULL,
    "checksum" INTEGER,
    "installed_by" VARCHAR(100) NOT NULL,
    "installed_on" TIMESTAMP NOT NULL DEFAULT now(),
    "execution_time" INTEGER NOT NULL,
    "success" BOOLEAN NOT NULL
)
18:54:08.144 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.144 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER TABLE "public"."flyway_schema_history" ADD CONSTRAINT "flyway_schema_history_pk" PRIMARY KEY ("installed_rank")
18:54:08.146 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.146 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX "flyway_schema_history_s_idx" ON "public"."flyway_schema_history" ("success")
18:54:08.146 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.146 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Created Schema History table: "public"."flyway_schema_history"
18:54:08.151 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Current version of schema "public": << Empty Schema >>
18:54:08.151 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.0 - Create Bookkeeper Database
18:54:08.152 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.0 - Create Bookkeeper Database
18:54:08.154 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:08.156 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.1 - Create Quotas Table
18:54:08.157 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the quotas table
CREATE SEQUENCE IF NOT EXISTS quotas_id_seq
18:54:08.158 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.158 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS quotas (
    id integer DEFAULT nextval('quotas_id_seq') PRIMARY KEY,
    object text NOT NULL,
    quotaType text NOT NULL,
    softLimit double precision NOT NULL,
    hardLimit double precision NOT NULL,
    totalUsage double precision,
    unit text NOT NULL,
    orderId integer,
    subject text,
    name text
)
18:54:08.160 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.160 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER SEQUENCE quotas_id_seq OWNED BY quotas.id
18:54:08.161 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.161 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX quotas_quotaType_idx ON quotas USING btree(quotaType)
18:54:08.161 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.161 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX quotas_orderId_idx ON quotas USING btree(orderId)
18:54:08.162 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.162 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX quotas_subject_idx ON quotas USING btree(subject)
18:54:08.163 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.163 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE quotas IS 'Quotas limiting resources for products per customer. Quotas may be associated with products or customers by their ids.'
18:54:08.163 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.163 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.id IS 'The unique quota identifier'
18:54:08.163 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.163 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.object IS 'The serialized object type, set to "quota"'
18:54:08.164 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.164 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.quotaType IS 'The quota type'
18:54:08.164 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.164 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.softLimit IS 'The soft limit of the resource.'
18:54:08.164 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.164 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.hardLimit IS 'The hard limit of the resource.'
18:54:08.164 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.164 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.totalUsage IS 'The current observed total usage of the quota.'
18:54:08.164 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.164 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.unit IS 'The named unit of the quota.'
18:54:08.164 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.164 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.orderId IS 'The order id to which the quota is applied.'
18:54:08.164 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.165 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.subject IS 'The subject identifier to which the quota is applied.'
18:54:08.165 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.165 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.name IS 'The quota name, copied from the order name.'
18:54:08.165 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.165 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.1 - Create Quotas Table
18:54:08.166 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:08.168 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.2 - Insert Standard Quotas
18:54:08.169 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- 1GB base storage limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'storage', 1073741824.0, 1181116006.4, NULL, 'byte', NULL, NULL)
18:54:08.170 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:08.170 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- 1TB base hosted repository storage limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'repository_storage', 1099511627776.0, 1209462790553.6, NULL, 'byte', NULL,
    NULL)
18:54:08.170 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:08.170 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- Single base branded portal limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'portal', 1.0, 1.0, NULL, 'portal', NULL, NULL)
18:54:08.170 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:08.170 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.2 - Insert Standard Quotas
18:54:08.171 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:08.173 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.3 - Create Customers Table
18:54:08.174 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the customers table
CREATE SEQUENCE customers_id_seq
18:54:08.174 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.174 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS customers (
    id integer DEFAULT nextval('customers_id_seq') PRIMARY KEY,
    object text NOT NULL,
    subject text NOT NULL,
    balance integer,
    address json,
    created timestamp with time zone,
    currency text,
    delinquent boolean,
    description text,
    discount json,
    email text,
    invoicePrefix text,
    invoiceSettings json,
    metadata json,
    givenName text,
    surName text,
    phone text
)
18:54:08.176 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.177 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER SEQUENCE customers_id_seq OWNED BY customers.id
18:54:08.177 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.177 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX customers_subject_idx ON customers USING btree(subject)
18:54:08.178 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.178 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX customers_email_idx ON customers USING btree(email)
18:54:08.178 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.178 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE customers IS 'Customers that have ordered products and have quotas.'
18:54:08.178 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.178 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.id IS 'The unique customer identifier.'
18:54:08.179 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.179 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.object IS 'The serialized object type, set to "customer".'
18:54:08.179 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.179 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.subject IS 'The unique customer Subject identifier.'
18:54:08.179 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.179 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.balance IS 'The customer balance, in the smallest unit of the currency (i.e. USD cents).'
18:54:08.179 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.179 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.address IS 'The customer address, stored as a JSON address object.'
18:54:08.179 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.179 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.created IS 'The customer creation date.'
18:54:08.179 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.179 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.currency IS 'The customer currency, defaults to "USD".'
18:54:08.179 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.179 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.delinquent IS 'The customer delinquency status, true or false'
18:54:08.180 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.180 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.description IS 'The customer description'
18:54:08.180 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.180 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.discount IS 'The customer discount, stored as a JSON Discount object.'
18:54:08.180 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.180 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.email IS 'The customer email address.'
18:54:08.180 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.180 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.invoicePrefix IS 'The customer invoice prefix'
18:54:08.180 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.180 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.invoiceSettings IS 'The customer settings, stored as a JSON InvoiceSettings object'
18:54:08.180 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.180 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.metadata IS 'The customer metadata, stored as a JSON object (undefined as of yet)'
18:54:08.180 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.180 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.givenName IS 'The customer given name'
18:54:08.181 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.181 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.surName IS 'The customer surname'
18:54:08.181 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.181 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.phone IS 'The customer phone'
18:54:08.181 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.181 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.3 - Create Customers Table
18:54:08.182 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:08.183 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.4 - Create Products Table
18:54:08.184 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the products table
CREATE SEQUENCE products_id_seq
18:54:08.184 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.184 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS products (
    id integer DEFAULT nextval('products_id_seq') PRIMARY KEY,
    object text NOT NULL,
    active boolean,
    amount integer NOT NULL,
    name text,
    caption text,
    currency text NOT NULL,
    description text,
    interval text NOT NULL,
    created timestamp with time zone,
    statementDescriptor text,
    type text,
    unitLabel text,
    url text,
    metadata json
)
18:54:08.186 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.186 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER SEQUENCE products_id_seq OWNED BY products.id
18:54:08.187 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.187 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX products_active_idx ON products USING btree(active)
18:54:08.187 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.187 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX products_name_idx ON products USING btree(name)
18:54:08.188 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.188 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX products_caption_idx ON products USING btree(caption)
18:54:08.188 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.188 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX products_description_idx ON products USING btree(description)
18:54:08.189 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.189 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE  products IS 'Products that are offered as services.'
18:54:08.189 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.189 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.id IS 'The unique product identifier'
18:54:08.189 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.189 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.object IS 'The serialized object type, set to "product"'
18:54:08.189 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.189 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.active IS 'The active status for the product, true or false.'
18:54:08.190 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.190 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.amount IS 'The cost amount for the product, in pence of the currency'
18:54:08.190 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.190 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.name IS 'The product name.'
18:54:08.190 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.190 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.caption IS 'The product caption, used for display.'
18:54:08.190 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.190 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.currency IS 'The product currency as a 3-letter ISO currency code.'
18:54:08.190 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.190 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.description IS 'The product general description.'
18:54:08.190 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.190 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.interval IS 'The product payment interval (day, week, month, year).'
18:54:08.191 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.191 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.created IS 'The product creation date.'
18:54:08.191 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.191 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.statementDescriptor IS 'The product statement descriptor used on charge statements.'
18:54:08.191 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.191 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.type IS 'The product type, either service or good.'
18:54:08.191 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.191 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.unitLabel IS 'The product unit label.'
18:54:08.191 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.191 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.url IS 'The product URL used for more information.'
18:54:08.191 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.191 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.metadata IS 'The product metadata JSON object, currently a feature list.'
18:54:08.191 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.191 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.4 - Create Products Table
18:54:08.192 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:08.194 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.5 - Insert Standard Products
18:54:08.195 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Individual Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    32000,
    'Faculty or research lab',
    now(),
    'USD',
    'Create a customized portal for your work and projects. Help others understand and access your data.',
    'year',
    'Individual',
    'DataONE Membership Plan - Individual',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "1","hardLimit": "1","totalUsage": "0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:08.196 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:08.196 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Small Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    200000,
    'Small institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Small Organization',
    'DataONE Membership Plan - Small Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "5","hardLimit": "5","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:08.196 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:08.196 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Medium Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    600000,
    'Medium institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Medium Organization',
    'DataONE Membership Plan - Medium Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "15","hardLimit": "15","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:08.196 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:08.196 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Large Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    2800000,
    'Large institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Large Organization',
    'DataONE Membership Plan - Large Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "branded_portal","softLimit": "50","hardLimit": "50","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:08.197 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:08.197 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- Hosted Repository
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    'true',
    1200000,
    'A dedicated repository solution for your group or institution’s data, managed by DataONE',
    now(),
    'USD',
    'Bring the products of your research lab, field station, or library together in a centralized location for efficient sharing, access, and reuse. Accelerate research activity, foster new collaborations, and build community with a repository that meets your needs and reflects your brand.',
    'year',
    'DataONE Hosted Repository',
    'DataONE Hosted Repository',
    'service',
    'repository',
    'https://products.dataone.org/hostedrepo',
    '{"features": [{"name": "trusted_data_repository","label": "A Trusted Data Repository","description": "Preserve and share your data, software, and derived products in a dedicated repository system. Built on our robust and expertly managed repository software and hardware, your research products are safely inactive and easily accessible."},{"name": "individual_fair_Assessments","label": "Individual FAIR Assessments","description": "Evaluate your metadata with community established FAIR principles. Scores are refreshed with updates to your metadata, helping make your data even more Findable, Accessible, Interoperable, and Reusable."},{"name": "powerful_online_submission","label": "Powerful Online Submission","description": "The user friendly data submission tool helps your researchers efficiently upload and describe their data. Users can easily create detailed metadata to enhance interoperability, reusability, and value of data."},{"name": "comprehensive_search","label": "Comprehensive Search","description": "Quickly find data with detailed search filters, or by navigating the interactive map."},{"name": "usage_metrics","label": "Usage Metrics","description": "Understand how your data are being used over time with view, download, and citation metrics."},{"name": "usage_metrics","label": "Usage Metrics","description": "Understand how your data are being used over time with view, download, and citation metrics."},{"name": "expandable_storage","label": "Expandable Storage","description": "Grow your repository capacity based on your storage needs in 1 TB increments.","quota": {"object": "quota","quotaType": "repository_storage","softLimit": 1048576,"hardLimit": 1153434,"totalUsage": 0,"unit": "portal"}},{"name": "geographic_replicas","label": "Geographic Replicas","description": "Your data are replicated to distinct geographic regions for high availability and preservation."},{"name": "api_access","label": "API Access","description": "Programmatically work with your repository through the DataONE tools in R, Python, Matlab, and Java."},{"name": "link_data_and_software","label": "Link data and Software","description": "Easily show how your files relate to each other by providing well-described provenance workflows."},{"name": "private_and_public_access","label": "Private and Public Access","description": "Control access to your datasets\nprior to publication with private groups or just yourself."},{"name": "private_and_public_access","label": "Private and Public Access","description": "Control access to your datasets\nprior to publication with private groups or just yourself."},{"name": "any_file_format","label": "Any File Format","description": "Use the scientific file formats for your community: image, tabular, text, audio, video, and others."},{"name": "share_when_ready","label": "Share When Ready","description": "Keep your dataset private while you document it thoroughly, and then make it public when you are ready."}]}'
)
18:54:08.198 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:08.198 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- Archival Storage
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    'true',
    126000,
    'Additional High Availability Data Storage',
    now(),
    'USD',
    'Increase the available storage in your dedicated hosted repository in 1 TB increments.',
    'year',
    'Additional Data Storage',
    'Additional Data Storage',
    'service',
    'storage',
    'https://products.dataone.org/hostedrepo',
    '{}'
)
18:54:08.198 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:08.198 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.5 - Insert Standard Products
18:54:08.199 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:08.200 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.6 - Create Orders Table
18:54:08.201 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the orders table
CREATE SEQUENCE orders_id_seq
18:54:08.202 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.202 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS orders (
    id integer DEFAULT nextval('orders_id_seq') PRIMARY KEY,
    object text NOT NULL,
    amount integer,
    amountReturned integer,
    charge json,
    created timestamp with time zone,
    currency text,
    customer integer,
    subject text,
    email text,
    items json,
    metadata json,
    name text,
    status text,
    statusTransitions json,
    updated timestamp with time zone,
    seriesId text,
    startDate timestamp with time zone,
    endDate timestamp with time zone
)
18:54:08.205 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.205 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX orders_customer_idx ON orders USING btree(customer)
18:54:08.205 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.205 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX orders_subject_idx ON orders USING btree(subject)
18:54:08.206 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.206 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX orders_email_idx ON orders USING btree(email)
18:54:08.207 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.207 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX orders_status_idx ON orders USING btree(status)
18:54:08.207 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.207 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE  orders IS 'Orders of products by customers.'
18:54:08.207 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.207 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.id IS 'The unique order identifier.'
18:54:08.208 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.208 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.object IS 'The serialized object type, set to "order".'
18:54:08.208 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.208 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.amount IS 'The order amount in the smallest unit of the currency.'
18:54:08.208 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.208 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.amountReturned IS 'The order amount returned in the smallest unit of the currency.'
18:54:08.208 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.208 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.charge IS 'The order transaction charge JSON object.'
18:54:08.208 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.208 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.created IS 'The order creation date.'
18:54:08.208 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.208 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.currency IS 'The order currency code.'
18:54:08.209 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.209 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.customer IS 'The order customer identifier.'
18:54:08.209 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.209 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.subject IS 'The order user or group subject identifier.'
18:54:08.209 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.209 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.email IS 'The order customer email.'
18:54:08.209 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.209 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.items IS 'The order items list JSON object.'
18:54:08.209 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.209 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.metadata IS 'The order metadata JSON object.'
18:54:08.209 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.209 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.name IS 'The order name set by the customer.'
18:54:08.209 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.209 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.status IS 'The order status (created, paid, canceled, fulfilled, returned.'
18:54:08.210 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.210 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.statusTransitions IS 'The order status/date transitions JSON object'
18:54:08.210 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.210 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.updated IS 'The order update date.'
18:54:08.210 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.210 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.seriesId IS 'The order series identifier to track renewals.'
18:54:08.210 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.210 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.startDate IS 'The order services start date.'
18:54:08.210 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.210 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.endDate IS 'The order services end date.'
18:54:08.210 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.210 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.6 - Create Orders Table
18:54:08.211 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:08.213 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.7 - Alter Quotas Add Order FK
18:54:08.214 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Add the order id foreign key constraint
ALTER TABLE quotas
    ADD CONSTRAINT quotas_order_id_fk
    FOREIGN KEY (orderId) REFERENCES orders (id) ON DELETE CASCADE
18:54:08.216 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.216 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.7 - Alter Quotas Add Order FK
18:54:08.217 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:08.218 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.8 - Alter Orders Add Customer FK
18:54:08.219 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Add the customer id foreign key constraint
ALTER TABLE orders
    ADD CONSTRAINT orders_customer_id_fk
    FOREIGN KEY (customer) REFERENCES customers (id) ON DELETE CASCADE
18:54:08.220 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.220 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.8 - Alter Orders Add Customer FK
18:54:08.221 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:08.222 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.9 - Create Usages Table
18:54:08.223 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the usages table
CREATE SEQUENCE IF NOT EXISTS usages_id_seq
18:54:08.224 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.224 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS usages (
    id integer DEFAULT nextval('usages_id_seq') PRIMARY KEY,
    object text NOT NULL,
    quotaId integer NOT NULL,
    instanceId text NOT NULL,
    quantity double precision NOT NULL,
    status text,
    nodeId text NOT NULL
)
18:54:08.226 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.226 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER SEQUENCE usages_id_seq OWNED BY usages.id
18:54:08.226 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.226 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX usages_quotaId_idx ON usages USING btree(quotaId)
18:54:08.227 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.227 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX usages_instanceId_idx ON usages USING btree(instanceId)
18:54:08.227 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.227 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER TABLE usages
    ADD CONSTRAINT usages_quotas_id_fk
    FOREIGN KEY (quotaId) REFERENCES quotas (id) ON DELETE CASCADE
18:54:08.228 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.228 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE  usages IS 'Usages records each instance a portion of a quota is used.'
18:54:08.228 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.228 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.id IS 'The unique usage identifier.'
18:54:08.229 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.229 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.object IS 'The serialized object type, set to "usage".'
18:54:08.229 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.229 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.quotaId IS 'The quota identifier.'
18:54:08.229 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.229 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.instanceId IS 'The instance identifier using a portion of the quota.'
18:54:08.229 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.229 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.quantity IS 'The quantity used by the instance, in the quota units.'
18:54:08.229 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.229 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.status IS 'The status of the usage, active or inactive.'
18:54:08.229 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.229 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.nodeId IS 'The quota node identifier".'
18:54:08.229 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.229 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.9 - Create Usages Table
18:54:08.230 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:08.232 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.10 - Create Function Update Quota Table Usage
18:54:08.232 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the update quota usage function for inserts and updates
CREATE OR REPLACE FUNCTION update_quota_usage_on_insert_or_update()
    RETURNS trigger
    AS $update_quota_usage_on_insert_or_update$
    BEGIN
        -- Check that quotaId is given
        IF NEW.quotaId IS NULL THEN
            RAISE EXCEPTION 'quotaId cannot be null';
        END IF;

        -- Update the quotas.totalUsage column
        UPDATE quotas q
            SET totalUsage = (SELECT SUM(u.quantity) FROM usages u WHERE u.status != 'inactive' AND u.quotaId = NEW.quotaId)
                WHERE q.id = NEW.quotaId;
        RETURN NEW;
    END;
    $update_quota_usage_on_insert_or_update$
    LANGUAGE plpgsql
18:54:08.234 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.234 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the update quota totalUsage trigger
DROP TRIGGER IF EXISTS update_quotas_usage_on_insert_or_update ON usages
18:54:08.235 [main] INFO org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - DB: trigger "update_quotas_usage_on_insert_or_update" for relation "usages" does not exist, skipping
18:54:08.235 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.235 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TRIGGER update_quotas_usage_on_insert_or_update AFTER INSERT OR UPDATE ON usages
    FOR EACH ROW
        EXECUTE PROCEDURE update_quota_usage_on_insert_or_update()
18:54:08.235 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.235 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the update quota totalUsage function for deletes
CREATE OR REPLACE FUNCTION update_quota_usage_on_delete()
    RETURNS trigger
    AS $update_quota_usage_on_delete$
    BEGIN
        -- Check that quotaId is given
        IF OLD.quotaId IS NULL THEN
            RAISE EXCEPTION 'quotaId cannot be null';
        END IF;

        -- Update the quotas.usage column
        UPDATE quotas q
            SET totalUsage = (SELECT SUM(u.quantity) FROM usages u WHERE u.status != 'inactive' AND u.quotaId = OLD.quotaId)
                WHERE q.id = OLD.quotaId;
        RETURN OLD;
    END;
    $update_quota_usage_on_delete$
    LANGUAGE plpgsql
18:54:08.235 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.235 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the update quota totalUsage trigger
DROP TRIGGER IF EXISTS update_quotas_usage_on_delete ON usages
18:54:08.236 [main] INFO org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - DB: trigger "update_quotas_usage_on_delete" for relation "usages" does not exist, skipping
18:54:08.236 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.236 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TRIGGER update_quotas_usage_on_delete AFTER DELETE ON usages
    FOR EACH ROW
        EXECUTE PROCEDURE update_quota_usage_on_delete()
18:54:08.236 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.236 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.10 - Create Function Update Quota Table Usage
18:54:08.237 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:08.238 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.11 - Alter Usages Add Unique Constraint
18:54:08.239 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Add a unique constraint to the usage table for the 'quotaid' + 'instanceid' columns
CREATE UNIQUE INDEX usages_quotaid_instanceid_idx
    ON usages USING btree(quotaid,instanceid)
18:54:08.239 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.239 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.11 - Alter Usages Add Unique Constraint
18:54:08.240 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:08.241 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.12 - Alter Quotas Add Unique Constraint OrderId QuotaType
18:54:08.242 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Add a unique constraint to the quotas table for the orderId and quotaType columns
CREATE UNIQUE INDEX quotas_order_id_quota_type_idx
    ON quotas USING btree(orderId, quotaType)
18:54:08.243 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:08.243 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.12 - Alter Quotas Add Unique Constraint OrderId QuotaType
18:54:08.244 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:08.245 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Successfully applied 13 migrations to schema "public" (execution time 00:00.107s)
18:54:08.245 [main] DEBUG org.flywaydb.core.Flyway - Memory usage: 114 of 310M
18:54:08.249 [main] DEBUG org.hibernate.validator.internal.engine.resolver.TraversableResolvers - Cannot find javax.persistence.Persistence on classpath. Assuming non JPA 2 environment. All properties will per default be traversable.
18:54:08.249 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Adding value extractor io.dropwizard.validation.valuehandling.GuavaOptionalValueExtractor@297ea53a
18:54:08.249 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Setting custom ConstraintValidatorFactory of type io.dropwizard.jersey.validation.MutableValidatorFactory
18:54:08.249 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Setting custom ParameterNameProvider of type io.dropwizard.jersey.validation.JerseyParameterNameProvider
18:54:08.249 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Adding value extractor io.dropwizard.jersey.validation.NonEmptyStringParamValueExtractor@3a320ade
18:54:08.249 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Adding value extractor io.dropwizard.jersey.validation.ParamValueExtractor@21005f6c
18:54:08.250 [main] DEBUG org.hibernate.validator.internal.xml.config.ValidationXmlParser - Trying to load META-INF/validation.xml for XML based Validator configuration.
18:54:08.250 [main] DEBUG org.hibernate.validator.internal.xml.config.ResourceLoaderHelper - Trying to load META-INF/validation.xml via TCCL
18:54:08.250 [main] DEBUG org.hibernate.validator.internal.xml.config.ResourceLoaderHelper - Trying to load META-INF/validation.xml via Hibernate Validator's class loader
18:54:08.250 [main] DEBUG org.hibernate.validator.internal.xml.config.ValidationXmlParser - No META-INF/validation.xml found. Using annotation based configuration only.
18:54:08.250 [main] DEBUG org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator - Loaded expression factory via original TCCL
18:54:08.254 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000252: Using org.hibernate.validator.internal.engine.DefaultPropertyNodeNameProvider as property node name provider.
18:54:08.254 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator as ValidatorFactory-scoped message interpolator.
18:54:08.254 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.internal.engine.resolver.TraverseAllTraversableResolver as ValidatorFactory-scoped traversable resolver.
18:54:08.254 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.internal.util.ExecutableParameterNameProvider as ValidatorFactory-scoped parameter name provider.
18:54:08.254 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.internal.engine.DefaultClockProvider as ValidatorFactory-scoped clock provider.
18:54:08.254 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.internal.engine.scripting.DefaultScriptEvaluatorFactory as ValidatorFactory-scoped script evaluator factory.
18:54:08.255 [main] DEBUG org.eclipse.jetty.util.DecoratedObjectFactory - Adding Decorator: org.eclipse.jetty.util.DeprecationWarning@48528634
18:54:08.256 [main] DEBUG org.eclipse.jetty.util.component.ContainerLifeCycle - i.d.j.MutableServletContextHandler@5e1d03d7{/,null,UNAVAILABLE} added {ServletHandler@4047d2d9{STOPPED},MANAGED}
18:54:08.256 [main] DEBUG org.eclipse.jetty.util.DecoratedObjectFactory - Adding Decorator: org.eclipse.jetty.util.DeprecationWarning@48d293ee
18:54:08.256 [main] DEBUG org.eclipse.jetty.util.component.ContainerLifeCycle - i.d.j.MutableServletContextHandler@146dcfe6{/,null,UNAVAILABLE} added {ServletHandler@22587507{STOPPED},MANAGED}
18:54:08.816 [main] DEBUG org.flywaydb.core.Flyway - DDL Transactions Supported: true
18:54:08.816 [main] DEBUG org.flywaydb.core.Flyway - Schema: public
18:54:08.816 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning for classpath resources at 'classpath:db/migrations' ...
18:54:08.816 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Determining location urls for classpath:db/migrations using ClassLoader sun.misc.Launcher$AppClassLoader@7f31245a ...
18:54:08.817 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning URL: file:/var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/db/migrations
18:54:08.817 [main] DEBUG org.flywaydb.core.internal.util.FeatureDetector - JBoss VFS v2 available: false
18:54:08.817 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.FileSystemClassPathLocationScanner - Scanning starting at classpath root in filesystem: /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/
18:54:08.817 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.FileSystemClassPathLocationScanner - Scanning for resources in path: /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/db/migrations (db/migrations)
18:54:08.817 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.0__Create_Bookkeeper_Database.sql
18:54:08.817 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.10__Create_Function_Update_Quota_Table_Usage.sql
18:54:08.817 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.11__Alter_Usages_Add_Unique_Constraint.sql
18:54:08.817 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql
18:54:08.817 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.1__Create_Quotas_Table.sql
18:54:08.817 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.2__Insert_Standard_Quotas.sql
18:54:08.817 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.3__Create_Customers_Table.sql
18:54:08.817 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.4__Create_Products_Table.sql
18:54:08.817 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.5__Insert_Standard_Products.sql
18:54:08.817 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.6__Create_Orders_Table.sql
18:54:08.817 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.7__Alter_Quotas_Add_Order_FK.sql
18:54:08.817 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.8__Alter_Orders_Add_Customer_FK.sql
18:54:08.817 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.9__Create_Usages_Table.sql
18:54:08.817 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning for classes at classpath:db/migrations
18:54:08.817 [main] DEBUG org.flywaydb.core.internal.callback.SqlScriptCallbackFactory - Scanning for SQL callbacks ...
18:54:08.818 [main] DEBUG org.flywaydb.core.internal.util.FeatureDetector - Spring Jdbc available: false
18:54:08.822 [main] DEBUG org.flywaydb.core.internal.command.DbClean - Cleaning schema "public" ...
18:54:08.845 [main] INFO org.flywaydb.core.internal.command.DbClean - Successfully cleaned schema "public" (execution time 00:00.022s)
18:54:08.845 [main] DEBUG org.flywaydb.core.Flyway - Memory usage: 105 of 357M
18:54:08.851 [log:pid(19785)] INFO pg-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee - 2020-10-28 18:54:08.848 UTC [19789] LOG:  received fast shutdown request
18:54:08.948 [log:pid(19805)] INFO init-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee:pg_ctl - waiting for server to shut down.... done
18:54:08.948 [log:pid(19805)] INFO init-c40eabdb-1a9d-47fe-b515-59adcc1fe7ee:pg_ctl - server stopped
18:54:08.948 [main] INFO com.opentable.db.postgres.embedded.EmbeddedPostgres - c40eabdb-1a9d-47fe-b515-59adcc1fe7ee shut down postmaster in 00:00:00.102
[INFO] Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.695 s - in org.dataone.bookkeeper.jdbi.QuotaStoreTest
[INFO] Running org.dataone.bookkeeper.jdbi.OrderStoreTest
18:54:09.830 [log:pid(19809)] INFO init-4e20c75c-317a-442f-83d0-13bdf76dac24:initdb - The files belonging to this database system will be owned by user "jenkins".
18:54:09.830 [log:pid(19809)] INFO init-4e20c75c-317a-442f-83d0-13bdf76dac24:initdb - This user must also own the server process.
18:54:09.830 [log:pid(19809)] INFO init-4e20c75c-317a-442f-83d0-13bdf76dac24:initdb - 
18:54:09.830 [log:pid(19809)] INFO init-4e20c75c-317a-442f-83d0-13bdf76dac24:initdb - The database cluster will be initialized with locale "en_US.UTF-8".
18:54:09.830 [log:pid(19809)] INFO init-4e20c75c-317a-442f-83d0-13bdf76dac24:initdb - The default text search configuration will be set to "english".
18:54:09.830 [log:pid(19809)] INFO init-4e20c75c-317a-442f-83d0-13bdf76dac24:initdb - 
18:54:09.830 [log:pid(19809)] INFO init-4e20c75c-317a-442f-83d0-13bdf76dac24:initdb - Data page checksums are disabled.
18:54:09.830 [log:pid(19809)] INFO init-4e20c75c-317a-442f-83d0-13bdf76dac24:initdb - 
18:54:09.830 [log:pid(19809)] INFO init-4e20c75c-317a-442f-83d0-13bdf76dac24:initdb - fixing permissions on existing directory /tmp/epg5876255550876137738 ... ok
18:54:09.830 [log:pid(19809)] INFO init-4e20c75c-317a-442f-83d0-13bdf76dac24:initdb - creating subdirectories ... ok
18:54:09.839 [log:pid(19809)] INFO init-4e20c75c-317a-442f-83d0-13bdf76dac24:initdb - selecting default max_connections ... 100
18:54:09.853 [log:pid(19809)] INFO init-4e20c75c-317a-442f-83d0-13bdf76dac24:initdb - selecting default shared_buffers ... 128MB
18:54:09.853 [log:pid(19809)] INFO init-4e20c75c-317a-442f-83d0-13bdf76dac24:initdb - selecting dynamic shared memory implementation ... posix
18:54:09.921 [log:pid(19809)] INFO init-4e20c75c-317a-442f-83d0-13bdf76dac24:initdb - creating configuration files ... ok
18:54:10.018 [log:pid(19809)] INFO init-4e20c75c-317a-442f-83d0-13bdf76dac24:initdb - running bootstrap script ... ok
18:54:10.413 [log:pid(19809)] INFO init-4e20c75c-317a-442f-83d0-13bdf76dac24:initdb - performing post-bootstrap initialization ... ok
18:54:10.818 [log:pid(19809)] INFO init-4e20c75c-317a-442f-83d0-13bdf76dac24:initdb - syncing data to disk ... ok
18:54:10.818 [log:pid(19809)] INFO init-4e20c75c-317a-442f-83d0-13bdf76dac24:initdb - 
18:54:10.818 [log:pid(19809)] INFO init-4e20c75c-317a-442f-83d0-13bdf76dac24:initdb - Success. You can now start the database server using:
18:54:10.818 [log:pid(19809)] INFO init-4e20c75c-317a-442f-83d0-13bdf76dac24:initdb - 
18:54:10.818 [log:pid(19809)] INFO init-4e20c75c-317a-442f-83d0-13bdf76dac24:initdb -     /tmp/embedded-pg/PG-06e3a92a2edb6ddd6dbdf5602d0252ca/bin/pg_ctl -D /tmp/epg5876255550876137738 -l logfile start
18:54:10.818 [log:pid(19809)] INFO init-4e20c75c-317a-442f-83d0-13bdf76dac24:initdb - 
18:54:10.819 [main] INFO com.opentable.db.postgres.embedded.EmbeddedPostgres - 4e20c75c-317a-442f-83d0-13bdf76dac24 initdb completed in 00:00:00.997
18:54:10.821 [main] INFO com.opentable.db.postgres.embedded.EmbeddedPostgres - 4e20c75c-317a-442f-83d0-13bdf76dac24 postmaster started as java.lang.UNIXProcess@77cb452c on port 5432.  Waiting up to PT10S for server startup to finish.
18:54:10.832 [log:pid(19825)] INFO pg-4e20c75c-317a-442f-83d0-13bdf76dac24 - waiting for server to start....2020-10-28 18:54:10.832 UTC [19829] LOG:  listening on IPv6 address "::1", port 5432
18:54:10.832 [log:pid(19825)] INFO pg-4e20c75c-317a-442f-83d0-13bdf76dac24 - 2020-10-28 18:54:10.832 UTC [19829] LOG:  listening on IPv4 address "127.0.0.1", port 5432
18:54:10.832 [log:pid(19825)] INFO pg-4e20c75c-317a-442f-83d0-13bdf76dac24 - 2020-10-28 18:54:10.832 UTC [19829] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
18:54:10.866 [log:pid(19825)] INFO pg-4e20c75c-317a-442f-83d0-13bdf76dac24 - 2020-10-28 18:54:10.866 UTC [19830] LOG:  database system was shut down at 2020-10-28 18:54:10 UTC
18:54:10.869 [log:pid(19825)] INFO pg-4e20c75c-317a-442f-83d0-13bdf76dac24 - 2020-10-28 18:54:10.869 UTC [19829] LOG:  database system is ready to accept connections
18:54:10.923 [log:pid(19825)] INFO pg-4e20c75c-317a-442f-83d0-13bdf76dac24 - 2020-10-28 18:54:10.923 UTC [19837] LOG:  incomplete startup packet
18:54:10.927 [log:pid(19825)] INFO pg-4e20c75c-317a-442f-83d0-13bdf76dac24 -  done
18:54:10.927 [log:pid(19825)] INFO pg-4e20c75c-317a-442f-83d0-13bdf76dac24 - server started
18:54:10.929 [main] INFO com.opentable.db.postgres.embedded.EmbeddedPostgres - 4e20c75c-317a-442f-83d0-13bdf76dac24 postmaster startup finished in 00:00:00.109
18:54:10.935 [main] INFO org.flywaydb.core.internal.database.DatabaseFactory - Database: jdbc:postgresql://localhost:5432/postgres (PostgreSQL 10.6)
18:54:10.935 [main] DEBUG org.flywaydb.core.internal.database.DatabaseFactory - Driver  : PostgreSQL JDBC Driver 42.2.6
18:54:10.936 [main] DEBUG org.flywaydb.core.Flyway - DDL Transactions Supported: true
18:54:10.936 [main] DEBUG org.flywaydb.core.Flyway - Schema: public
18:54:10.936 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning for classpath resources at 'classpath:db/migrations' ...
18:54:10.936 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Determining location urls for classpath:db/migrations using ClassLoader sun.misc.Launcher$AppClassLoader@7f31245a ...
18:54:10.936 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning URL: file:/var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/db/migrations
18:54:10.937 [main] DEBUG org.flywaydb.core.internal.util.FeatureDetector - JBoss VFS v2 available: false
18:54:10.937 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.FileSystemClassPathLocationScanner - Scanning starting at classpath root in filesystem: /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/
18:54:10.937 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.FileSystemClassPathLocationScanner - Scanning for resources in path: /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/db/migrations (db/migrations)
18:54:10.937 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.0__Create_Bookkeeper_Database.sql
18:54:10.937 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.10__Create_Function_Update_Quota_Table_Usage.sql
18:54:10.937 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.11__Alter_Usages_Add_Unique_Constraint.sql
18:54:10.937 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql
18:54:10.937 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.1__Create_Quotas_Table.sql
18:54:10.937 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.2__Insert_Standard_Quotas.sql
18:54:10.937 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.3__Create_Customers_Table.sql
18:54:10.937 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.4__Create_Products_Table.sql
18:54:10.937 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.5__Insert_Standard_Products.sql
18:54:10.937 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.6__Create_Orders_Table.sql
18:54:10.937 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.7__Alter_Quotas_Add_Order_FK.sql
18:54:10.937 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.8__Alter_Orders_Add_Customer_FK.sql
18:54:10.937 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.9__Create_Usages_Table.sql
18:54:10.937 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning for classes at classpath:db/migrations
18:54:10.937 [main] DEBUG org.flywaydb.core.internal.callback.SqlScriptCallbackFactory - Scanning for SQL callbacks ...
18:54:10.938 [main] DEBUG org.flywaydb.core.internal.util.FeatureDetector - Spring Jdbc available: false
18:54:10.940 [main] DEBUG org.flywaydb.core.internal.command.DbValidate - Validating migrations ...
18:54:10.940 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.0__Create_Bookkeeper_Database.sql ...
18:54:10.941 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.10__Create_Function_Update_Quota_Table_Usage.sql ...
18:54:10.941 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the update quota usage function for inserts and updates
CREATE OR REPLACE FUNCTION update_quota_usage_on_insert_or_update()
    RETURNS trigger
    AS $update_quota_usage_on_insert_or_update$
    BEGIN
        -- Check that quotaId is given
        IF NEW.quotaId IS NULL THEN
            RAISE EXCEPTION 'quotaId cannot be null';
        END IF;

        -- Update the quotas.totalUsage column
        UPDATE quotas q
            SET totalUsage = (SELECT SUM(u.quantity) FROM usages u WHERE u.status != 'inactive' AND u.quotaId = NEW.quotaId)
                WHERE q.id = NEW.quotaId;
        RETURN NEW;
    END;
    $update_quota_usage_on_insert_or_update$
    LANGUAGE plpgsql
18:54:10.941 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 23: --- Create the update quota totalUsage trigger
DROP TRIGGER IF EXISTS update_quotas_usage_on_insert_or_update ON usages
18:54:10.941 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 25: CREATE TRIGGER update_quotas_usage_on_insert_or_update AFTER INSERT OR UPDATE ON usages
    FOR EACH ROW
        EXECUTE PROCEDURE update_quota_usage_on_insert_or_update()
18:54:10.942 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: --- Create the update quota totalUsage function for deletes
CREATE OR REPLACE FUNCTION update_quota_usage_on_delete()
    RETURNS trigger
    AS $update_quota_usage_on_delete$
    BEGIN
        -- Check that quotaId is given
        IF OLD.quotaId IS NULL THEN
            RAISE EXCEPTION 'quotaId cannot be null';
        END IF;

        -- Update the quotas.usage column
        UPDATE quotas q
            SET totalUsage = (SELECT SUM(u.quantity) FROM usages u WHERE u.status != 'inactive' AND u.quotaId = OLD.quotaId)
                WHERE q.id = OLD.quotaId;
        RETURN OLD;
    END;
    $update_quota_usage_on_delete$
    LANGUAGE plpgsql
18:54:10.942 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 48: --- Create the update quota totalUsage trigger
DROP TRIGGER IF EXISTS update_quotas_usage_on_delete ON usages
18:54:10.942 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 50: CREATE TRIGGER update_quotas_usage_on_delete AFTER DELETE ON usages
    FOR EACH ROW
        EXECUTE PROCEDURE update_quota_usage_on_delete()
18:54:10.942 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.11__Alter_Usages_Add_Unique_Constraint.sql ...
18:54:10.942 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Add a unique constraint to the usage table for the 'quotaid' + 'instanceid' columns
CREATE UNIQUE INDEX usages_quotaid_instanceid_idx
    ON usages USING btree(quotaid,instanceid)
18:54:10.942 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql ...
18:54:10.942 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Add a unique constraint to the quotas table for the orderId and quotaType columns
CREATE UNIQUE INDEX quotas_order_id_quota_type_idx
    ON quotas USING btree(orderId, quotaType)
18:54:10.943 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.1__Create_Quotas_Table.sql ...
18:54:10.943 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the quotas table
CREATE SEQUENCE IF NOT EXISTS quotas_id_seq
18:54:10.943 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS quotas (
    id integer DEFAULT nextval('quotas_id_seq') PRIMARY KEY,
    object text NOT NULL,
    quotaType text NOT NULL,
    softLimit double precision NOT NULL,
    hardLimit double precision NOT NULL,
    totalUsage double precision,
    unit text NOT NULL,
    orderId integer,
    subject text,
    name text
)
18:54:10.943 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 19: ALTER SEQUENCE quotas_id_seq OWNED BY quotas.id
18:54:10.943 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 21: CREATE INDEX quotas_quotaType_idx ON quotas USING btree(quotaType)
18:54:10.943 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 22: CREATE INDEX quotas_orderId_idx ON quotas USING btree(orderId)
18:54:10.943 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 23: CREATE INDEX quotas_subject_idx ON quotas USING btree(subject)
18:54:10.943 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 25: COMMENT ON TABLE quotas IS 'Quotas limiting resources for products per customer. Quotas may be associated with products or customers by their ids.'
18:54:10.943 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 26: COMMENT ON COLUMN quotas.id IS 'The unique quota identifier'
18:54:10.943 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 27: COMMENT ON COLUMN quotas.object IS 'The serialized object type, set to "quota"'
18:54:10.943 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 28: COMMENT ON COLUMN quotas.quotaType IS 'The quota type'
18:54:10.943 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: COMMENT ON COLUMN quotas.softLimit IS 'The soft limit of the resource.'
18:54:10.943 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 30: COMMENT ON COLUMN quotas.hardLimit IS 'The hard limit of the resource.'
18:54:10.943 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: COMMENT ON COLUMN quotas.totalUsage IS 'The current observed total usage of the quota.'
18:54:10.943 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: COMMENT ON COLUMN quotas.unit IS 'The named unit of the quota.'
18:54:10.943 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 33: COMMENT ON COLUMN quotas.orderId IS 'The order id to which the quota is applied.'
18:54:10.943 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 34: COMMENT ON COLUMN quotas.subject IS 'The subject identifier to which the quota is applied.'
18:54:10.943 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 35: COMMENT ON COLUMN quotas.name IS 'The quota name, copied from the order name.'
18:54:10.944 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.2__Insert_Standard_Quotas.sql ...
18:54:10.944 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 3: -- 1GB base storage limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'storage', 1073741824.0, 1181116006.4, NULL, 'byte', NULL, NULL)
18:54:10.944 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: -- 1TB base hosted repository storage limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'repository_storage', 1099511627776.0, 1209462790553.6, NULL, 'byte', NULL,
    NULL)
18:54:10.944 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 12: -- Single base branded portal limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'portal', 1.0, 1.0, NULL, 'portal', NULL, NULL)
18:54:10.944 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.3__Create_Customers_Table.sql ...
18:54:10.944 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the customers table
CREATE SEQUENCE customers_id_seq
18:54:10.945 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS customers (
    id integer DEFAULT nextval('customers_id_seq') PRIMARY KEY,
    object text NOT NULL,
    subject text NOT NULL,
    balance integer,
    address json,
    created timestamp with time zone,
    currency text,
    delinquent boolean,
    description text,
    discount json,
    email text,
    invoicePrefix text,
    invoiceSettings json,
    metadata json,
    givenName text,
    surName text,
    phone text
)
18:54:10.945 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 26: ALTER SEQUENCE customers_id_seq OWNED BY customers.id
18:54:10.945 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 27: CREATE INDEX customers_subject_idx ON customers USING btree(subject)
18:54:10.945 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 28: CREATE INDEX customers_email_idx ON customers USING btree(email)
18:54:10.945 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 30: COMMENT ON TABLE customers IS 'Customers that have ordered products and have quotas.'
18:54:10.945 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: COMMENT ON COLUMN customers.id IS 'The unique customer identifier.'
18:54:10.945 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: COMMENT ON COLUMN customers.object IS 'The serialized object type, set to "customer".'
18:54:10.945 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 33: COMMENT ON COLUMN customers.subject IS 'The unique customer Subject identifier.'
18:54:10.945 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 34: COMMENT ON COLUMN customers.balance IS 'The customer balance, in the smallest unit of the currency (i.e. USD cents).'
18:54:10.945 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 35: COMMENT ON COLUMN customers.address IS 'The customer address, stored as a JSON address object.'
18:54:10.945 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 36: COMMENT ON COLUMN customers.created IS 'The customer creation date.'
18:54:10.945 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 37: COMMENT ON COLUMN customers.currency IS 'The customer currency, defaults to "USD".'
18:54:10.945 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 38: COMMENT ON COLUMN customers.delinquent IS 'The customer delinquency status, true or false'
18:54:10.945 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 39: COMMENT ON COLUMN customers.description IS 'The customer description'
18:54:10.945 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 40: COMMENT ON COLUMN customers.discount IS 'The customer discount, stored as a JSON Discount object.'
18:54:10.945 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 41: COMMENT ON COLUMN customers.email IS 'The customer email address.'
18:54:10.945 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 42: COMMENT ON COLUMN customers.invoicePrefix IS 'The customer invoice prefix'
18:54:10.945 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 43: COMMENT ON COLUMN customers.invoiceSettings IS 'The customer settings, stored as a JSON InvoiceSettings object'
18:54:10.945 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 44: COMMENT ON COLUMN customers.metadata IS 'The customer metadata, stored as a JSON object (undefined as of yet)'
18:54:10.945 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 45: COMMENT ON COLUMN customers.givenName IS 'The customer given name'
18:54:10.945 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 46: COMMENT ON COLUMN customers.surName IS 'The customer surname'
18:54:10.945 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 47: COMMENT ON COLUMN customers.phone IS 'The customer phone'
18:54:10.945 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.4__Create_Products_Table.sql ...
18:54:10.946 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the products table
CREATE SEQUENCE products_id_seq
18:54:10.946 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS products (
    id integer DEFAULT nextval('products_id_seq') PRIMARY KEY,
    object text NOT NULL,
    active boolean,
    amount integer NOT NULL,
    name text,
    caption text,
    currency text NOT NULL,
    description text,
    interval text NOT NULL,
    created timestamp with time zone,
    statementDescriptor text,
    type text,
    unitLabel text,
    url text,
    metadata json
)
18:54:10.946 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 24: ALTER SEQUENCE products_id_seq OWNED BY products.id
18:54:10.946 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 26: CREATE INDEX products_active_idx ON products USING btree(active)
18:54:10.946 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 27: CREATE INDEX products_name_idx ON products USING btree(name)
18:54:10.946 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 28: CREATE INDEX products_caption_idx ON products USING btree(caption)
18:54:10.946 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: CREATE INDEX products_description_idx ON products USING btree(description)
18:54:10.946 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: COMMENT ON TABLE  products IS 'Products that are offered as services.'
18:54:10.946 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: COMMENT ON COLUMN products.id IS 'The unique product identifier'
18:54:10.946 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 33: COMMENT ON COLUMN products.object IS 'The serialized object type, set to "product"'
18:54:10.946 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 34: COMMENT ON COLUMN products.active IS 'The active status for the product, true or false.'
18:54:10.946 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 35: COMMENT ON COLUMN products.amount IS 'The cost amount for the product, in pence of the currency'
18:54:10.946 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 36: COMMENT ON COLUMN products.name IS 'The product name.'
18:54:10.946 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 37: COMMENT ON COLUMN products.caption IS 'The product caption, used for display.'
18:54:10.946 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 38: COMMENT ON COLUMN products.currency IS 'The product currency as a 3-letter ISO currency code.'
18:54:10.946 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 39: COMMENT ON COLUMN products.description IS 'The product general description.'
18:54:10.946 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 40: COMMENT ON COLUMN products.interval IS 'The product payment interval (day, week, month, year).'
18:54:10.946 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 41: COMMENT ON COLUMN products.created IS 'The product creation date.'
18:54:10.946 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 42: COMMENT ON COLUMN products.statementDescriptor IS 'The product statement descriptor used on charge statements.'
18:54:10.946 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 43: COMMENT ON COLUMN products.type IS 'The product type, either service or good.'
18:54:10.946 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 44: COMMENT ON COLUMN products.unitLabel IS 'The product unit label.'
18:54:10.946 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 45: COMMENT ON COLUMN products.url IS 'The product URL used for more information.'
18:54:10.946 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 46: COMMENT ON COLUMN products.metadata IS 'The product metadata JSON object, currently a feature list.'
18:54:10.947 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.5__Insert_Standard_Products.sql ...
18:54:10.947 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 3: --- Individual Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    32000,
    'Faculty or research lab',
    now(),
    'USD',
    'Create a customized portal for your work and projects. Help others understand and access your data.',
    'year',
    'Individual',
    'DataONE Membership Plan - Individual',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "1","hardLimit": "1","totalUsage": "0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:10.947 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 24: --- Small Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    200000,
    'Small institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Small Organization',
    'DataONE Membership Plan - Small Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "5","hardLimit": "5","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:10.948 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 44: --- Medium Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    600000,
    'Medium institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Medium Organization',
    'DataONE Membership Plan - Medium Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "15","hardLimit": "15","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:10.948 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 64: --- Large Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    2800000,
    'Large institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Large Organization',
    'DataONE Membership Plan - Large Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "branded_portal","softLimit": "50","hardLimit": "50","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:10.949 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 84: -- Hosted Repository
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    'true',
    1200000,
    'A dedicated repository solution for your group or institution’s data, managed by DataONE',
    now(),
    'USD',
    'Bring the products of your research lab, field station, or library together in a centralized location for efficient sharing, access, and reuse. Accelerate research activity, foster new collaborations, and build community with a repository that meets your needs and reflects your brand.',
    'year',
    'DataONE Hosted Repository',
    'DataONE Hosted Repository',
    'service',
    'repository',
    'https://products.dataone.org/hostedrepo',
    '{"features": [{"name": "trusted_data_repository","label": "A Trusted Data Repository","description": "Preserve and share your data, software, and derived products in a dedicated repository system. Built on our robust and expertly managed repository software and hardware, your research products are safely inactive and easily accessible."},{"name": "individual_fair_Assessments","label": "Individual FAIR Assessments","description": "Evaluate your metadata with community established FAIR principles. Scores are refreshed with updates to your metadata, helping make your data even more Findable, Accessible, Interoperable, and Reusable."},{"name": "powerful_online_submission","label": "Powerful Online Submission","description": "The user friendly data submission tool helps your researchers efficiently upload and describe their data. Users can easily create detailed metadata to enhance interoperability, reusability, and value of data."},{"name": "comprehensive_search","label": "Comprehensive Search","description": "Quickly find data with detailed search filters, or by navigating the interactive map."},{"name": "usage_metrics","label": "Usage Metrics","description": "Understand how your data are being used over time with view, download, and citation metrics."},{"name": "usage_metrics","label": "Usage Metrics","description": "Understand how your data are being used over time with view, download, and citation metrics."},{"name": "expandable_storage","label": "Expandable Storage","description": "Grow your repository capacity based on your storage needs in 1 TB increments.","quota": {"object": "quota","quotaType": "repository_storage","softLimit": 1048576,"hardLimit": 1153434,"totalUsage": 0,"unit": "portal"}},{"name": "geographic_replicas","label": "Geographic Replicas","description": "Your data are replicated to distinct geographic regions for high availability and preservation."},{"name": "api_access","label": "API Access","description": "Programmatically work with your repository through the DataONE tools in R, Python, Matlab, and Java."},{"name": "link_data_and_software","label": "Link data and Software","description": "Easily show how your files relate to each other by providing well-described provenance workflows."},{"name": "private_and_public_access","label": "Private and Public Access","description": "Control access to your datasets\nprior to publication with private groups or just yourself."},{"name": "private_and_public_access","label": "Private and Public Access","description": "Control access to your datasets\nprior to publication with private groups or just yourself."},{"name": "any_file_format","label": "Any File Format","description": "Use the scientific file formats for your community: image, tabular, text, audio, video, and others."},{"name": "share_when_ready","label": "Share When Ready","description": "Keep your dataset private while you document it thoroughly, and then make it public when you are ready."}]}'
)
18:54:10.950 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 104: -- Archival Storage
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    'true',
    126000,
    'Additional High Availability Data Storage',
    now(),
    'USD',
    'Increase the available storage in your dedicated hosted repository in 1 TB increments.',
    'year',
    'Additional Data Storage',
    'Additional Data Storage',
    'service',
    'storage',
    'https://products.dataone.org/hostedrepo',
    '{}'
)
18:54:10.950 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.6__Create_Orders_Table.sql ...
18:54:10.950 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the orders table
CREATE SEQUENCE orders_id_seq
18:54:10.950 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS orders (
    id integer DEFAULT nextval('orders_id_seq') PRIMARY KEY,
    object text NOT NULL,
    amount integer,
    amountReturned integer,
    charge json,
    created timestamp with time zone,
    currency text,
    customer integer,
    subject text,
    email text,
    items json,
    metadata json,
    name text,
    status text,
    statusTransitions json,
    updated timestamp with time zone,
    seriesId text,
    startDate timestamp with time zone,
    endDate timestamp with time zone
)
18:54:10.950 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: CREATE INDEX orders_customer_idx ON orders USING btree(customer)
18:54:10.950 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 30: CREATE INDEX orders_subject_idx ON orders USING btree(subject)
18:54:10.950 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: CREATE INDEX orders_email_idx ON orders USING btree(email)
18:54:10.950 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: CREATE INDEX orders_status_idx ON orders USING btree(status)
18:54:10.950 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 34: COMMENT ON TABLE  orders IS 'Orders of products by customers.'
18:54:10.950 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 35: COMMENT ON COLUMN orders.id IS 'The unique order identifier.'
18:54:10.951 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 36: COMMENT ON COLUMN orders.object IS 'The serialized object type, set to "order".'
18:54:10.951 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 37: COMMENT ON COLUMN orders.amount IS 'The order amount in the smallest unit of the currency.'
18:54:10.951 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 38: COMMENT ON COLUMN orders.amountReturned IS 'The order amount returned in the smallest unit of the currency.'
18:54:10.951 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 39: COMMENT ON COLUMN orders.charge IS 'The order transaction charge JSON object.'
18:54:10.951 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 40: COMMENT ON COLUMN orders.created IS 'The order creation date.'
18:54:10.951 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 41: COMMENT ON COLUMN orders.currency IS 'The order currency code.'
18:54:10.951 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 42: COMMENT ON COLUMN orders.customer IS 'The order customer identifier.'
18:54:10.951 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 43: COMMENT ON COLUMN orders.subject IS 'The order user or group subject identifier.'
18:54:10.951 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 44: COMMENT ON COLUMN orders.email IS 'The order customer email.'
18:54:10.951 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 45: COMMENT ON COLUMN orders.items IS 'The order items list JSON object.'
18:54:10.951 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 46: COMMENT ON COLUMN orders.metadata IS 'The order metadata JSON object.'
18:54:10.951 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 47: COMMENT ON COLUMN orders.name IS 'The order name set by the customer.'
18:54:10.951 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 48: COMMENT ON COLUMN orders.status IS 'The order status (created, paid, canceled, fulfilled, returned.'
18:54:10.951 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 49: COMMENT ON COLUMN orders.statusTransitions IS 'The order status/date transitions JSON object'
18:54:10.951 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 50: COMMENT ON COLUMN orders.updated IS 'The order update date.'
18:54:10.951 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 51: COMMENT ON COLUMN orders.seriesId IS 'The order series identifier to track renewals.'
18:54:10.951 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 52: COMMENT ON COLUMN orders.startDate IS 'The order services start date.'
18:54:10.951 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 53: COMMENT ON COLUMN orders.endDate IS 'The order services end date.'
18:54:10.951 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.7__Alter_Quotas_Add_Order_FK.sql ...
18:54:10.951 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Add the order id foreign key constraint
ALTER TABLE quotas
    ADD CONSTRAINT quotas_order_id_fk
    FOREIGN KEY (orderId) REFERENCES orders (id) ON DELETE CASCADE
18:54:10.951 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.8__Alter_Orders_Add_Customer_FK.sql ...
18:54:10.952 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Add the customer id foreign key constraint
ALTER TABLE orders
    ADD CONSTRAINT orders_customer_id_fk
    FOREIGN KEY (customer) REFERENCES customers (id) ON DELETE CASCADE
18:54:10.952 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.9__Create_Usages_Table.sql ...
18:54:10.952 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the usages table
CREATE SEQUENCE IF NOT EXISTS usages_id_seq
18:54:10.952 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS usages (
    id integer DEFAULT nextval('usages_id_seq') PRIMARY KEY,
    object text NOT NULL,
    quotaId integer NOT NULL,
    instanceId text NOT NULL,
    quantity double precision NOT NULL,
    status text,
    nodeId text NOT NULL
)
18:54:10.952 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 16: ALTER SEQUENCE usages_id_seq OWNED BY usages.id
18:54:10.952 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 18: CREATE INDEX usages_quotaId_idx ON usages USING btree(quotaId)
18:54:10.952 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 19: CREATE INDEX usages_instanceId_idx ON usages USING btree(instanceId)
18:54:10.952 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 21: ALTER TABLE usages
    ADD CONSTRAINT usages_quotas_id_fk
    FOREIGN KEY (quotaId) REFERENCES quotas (id) ON DELETE CASCADE
18:54:10.952 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 25: COMMENT ON TABLE  usages IS 'Usages records each instance a portion of a quota is used.'
18:54:10.952 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 26: COMMENT ON COLUMN usages.id IS 'The unique usage identifier.'
18:54:10.952 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 27: COMMENT ON COLUMN usages.object IS 'The serialized object type, set to "usage".'
18:54:10.952 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 28: COMMENT ON COLUMN usages.quotaId IS 'The quota identifier.'
18:54:10.952 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: COMMENT ON COLUMN usages.instanceId IS 'The instance identifier using a portion of the quota.'
18:54:10.952 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 30: COMMENT ON COLUMN usages.quantity IS 'The quantity used by the instance, in the quota units.'
18:54:10.952 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: COMMENT ON COLUMN usages.status IS 'The status of the usage, active or inactive.'
18:54:10.952 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: COMMENT ON COLUMN usages.nodeId IS 'The quota node identifier".'
18:54:10.952 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.0__Create_Bookkeeper_Database.sql (filename: V1.0__Create_Bookkeeper_Database.sql)
18:54:10.952 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.10__Create_Function_Update_Quota_Table_Usage.sql (filename: V1.10__Create_Function_Update_Quota_Table_Usage.sql)
18:54:10.953 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.11__Alter_Usages_Add_Unique_Constraint.sql (filename: V1.11__Alter_Usages_Add_Unique_Constraint.sql)
18:54:10.953 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql (filename: V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql)
18:54:10.953 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.1__Create_Quotas_Table.sql (filename: V1.1__Create_Quotas_Table.sql)
18:54:10.953 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.2__Insert_Standard_Quotas.sql (filename: V1.2__Insert_Standard_Quotas.sql)
18:54:10.953 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.3__Create_Customers_Table.sql (filename: V1.3__Create_Customers_Table.sql)
18:54:10.953 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.4__Create_Products_Table.sql (filename: V1.4__Create_Products_Table.sql)
18:54:10.953 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.5__Insert_Standard_Products.sql (filename: V1.5__Insert_Standard_Products.sql)
18:54:10.953 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.6__Create_Orders_Table.sql (filename: V1.6__Create_Orders_Table.sql)
18:54:10.953 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.7__Alter_Quotas_Add_Order_FK.sql (filename: V1.7__Alter_Quotas_Add_Order_FK.sql)
18:54:10.953 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.8__Alter_Orders_Add_Customer_FK.sql (filename: V1.8__Alter_Orders_Add_Customer_FK.sql)
18:54:10.953 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.9__Create_Usages_Table.sql (filename: V1.9__Create_Usages_Table.sql)
18:54:10.953 [main] INFO org.flywaydb.core.internal.command.DbValidate - Successfully validated 13 migrations (execution time 00:00.013s)
18:54:10.954 [main] DEBUG org.flywaydb.core.internal.command.DbSchemas - Schema "public" already exists. Skipping schema creation.
18:54:10.958 [main] INFO org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Creating Schema History table: "public"."flyway_schema_history"
18:54:10.958 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing createMetaDataTable.sql ...
18:54:10.958 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 17: CREATE TABLE "public"."flyway_schema_history" (
    "installed_rank" INT NOT NULL,
    "version" VARCHAR(50),
    "description" VARCHAR(200) NOT NULL,
    "type" VARCHAR(20) NOT NULL,
    "script" VARCHAR(1000) NOT NULL,
    "checksum" INTEGER,
    "installed_by" VARCHAR(100) NOT NULL,
    "installed_on" TIMESTAMP NOT NULL DEFAULT now(),
    "execution_time" INTEGER NOT NULL,
    "success" BOOLEAN NOT NULL
)
18:54:10.958 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: ALTER TABLE "public"."flyway_schema_history" ADD CONSTRAINT "flyway_schema_history_pk" PRIMARY KEY ("installed_rank")
18:54:10.958 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: CREATE INDEX "flyway_schema_history_s_idx" ON "public"."flyway_schema_history" ("success")
18:54:10.958 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE "public"."flyway_schema_history" (
    "installed_rank" INT NOT NULL,
    "version" VARCHAR(50),
    "description" VARCHAR(200) NOT NULL,
    "type" VARCHAR(20) NOT NULL,
    "script" VARCHAR(1000) NOT NULL,
    "checksum" INTEGER,
    "installed_by" VARCHAR(100) NOT NULL,
    "installed_on" TIMESTAMP NOT NULL DEFAULT now(),
    "execution_time" INTEGER NOT NULL,
    "success" BOOLEAN NOT NULL
)
18:54:10.961 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.961 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER TABLE "public"."flyway_schema_history" ADD CONSTRAINT "flyway_schema_history_pk" PRIMARY KEY ("installed_rank")
18:54:10.961 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.961 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX "flyway_schema_history_s_idx" ON "public"."flyway_schema_history" ("success")
18:54:10.962 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.962 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Created Schema History table: "public"."flyway_schema_history"
18:54:10.963 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Current version of schema "public": << Empty Schema >>
18:54:10.964 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.0 - Create Bookkeeper Database
18:54:10.964 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.0 - Create Bookkeeper Database
18:54:10.965 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:10.966 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.1 - Create Quotas Table
18:54:10.967 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the quotas table
CREATE SEQUENCE IF NOT EXISTS quotas_id_seq
18:54:10.967 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.967 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS quotas (
    id integer DEFAULT nextval('quotas_id_seq') PRIMARY KEY,
    object text NOT NULL,
    quotaType text NOT NULL,
    softLimit double precision NOT NULL,
    hardLimit double precision NOT NULL,
    totalUsage double precision,
    unit text NOT NULL,
    orderId integer,
    subject text,
    name text
)
18:54:10.969 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.969 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER SEQUENCE quotas_id_seq OWNED BY quotas.id
18:54:10.969 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.969 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX quotas_quotaType_idx ON quotas USING btree(quotaType)
18:54:10.969 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.969 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX quotas_orderId_idx ON quotas USING btree(orderId)
18:54:10.970 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.970 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX quotas_subject_idx ON quotas USING btree(subject)
18:54:10.970 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.970 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE quotas IS 'Quotas limiting resources for products per customer. Quotas may be associated with products or customers by their ids.'
18:54:10.970 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.970 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.id IS 'The unique quota identifier'
18:54:10.970 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.970 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.object IS 'The serialized object type, set to "quota"'
18:54:10.971 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.971 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.quotaType IS 'The quota type'
18:54:10.971 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.971 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.softLimit IS 'The soft limit of the resource.'
18:54:10.971 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.971 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.hardLimit IS 'The hard limit of the resource.'
18:54:10.972 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.972 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.totalUsage IS 'The current observed total usage of the quota.'
18:54:10.972 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.972 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.unit IS 'The named unit of the quota.'
18:54:10.972 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.972 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.orderId IS 'The order id to which the quota is applied.'
18:54:10.972 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.972 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.subject IS 'The subject identifier to which the quota is applied.'
18:54:10.972 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.972 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.name IS 'The quota name, copied from the order name.'
18:54:10.972 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.972 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.1 - Create Quotas Table
18:54:10.973 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:10.974 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.2 - Insert Standard Quotas
18:54:10.975 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- 1GB base storage limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'storage', 1073741824.0, 1181116006.4, NULL, 'byte', NULL, NULL)
18:54:10.975 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:10.975 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- 1TB base hosted repository storage limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'repository_storage', 1099511627776.0, 1209462790553.6, NULL, 'byte', NULL,
    NULL)
18:54:10.975 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:10.975 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- Single base branded portal limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'portal', 1.0, 1.0, NULL, 'portal', NULL, NULL)
18:54:10.976 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:10.976 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.2 - Insert Standard Quotas
18:54:10.976 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:10.977 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.3 - Create Customers Table
18:54:10.978 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the customers table
CREATE SEQUENCE customers_id_seq
18:54:10.978 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.978 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS customers (
    id integer DEFAULT nextval('customers_id_seq') PRIMARY KEY,
    object text NOT NULL,
    subject text NOT NULL,
    balance integer,
    address json,
    created timestamp with time zone,
    currency text,
    delinquent boolean,
    description text,
    discount json,
    email text,
    invoicePrefix text,
    invoiceSettings json,
    metadata json,
    givenName text,
    surName text,
    phone text
)
18:54:10.979 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.979 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER SEQUENCE customers_id_seq OWNED BY customers.id
18:54:10.979 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.979 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX customers_subject_idx ON customers USING btree(subject)
18:54:10.980 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.980 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX customers_email_idx ON customers USING btree(email)
18:54:10.980 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.980 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE customers IS 'Customers that have ordered products and have quotas.'
18:54:10.980 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.980 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.id IS 'The unique customer identifier.'
18:54:10.980 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.980 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.object IS 'The serialized object type, set to "customer".'
18:54:10.980 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.980 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.subject IS 'The unique customer Subject identifier.'
18:54:10.980 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.980 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.balance IS 'The customer balance, in the smallest unit of the currency (i.e. USD cents).'
18:54:10.980 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.980 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.address IS 'The customer address, stored as a JSON address object.'
18:54:10.981 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.981 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.created IS 'The customer creation date.'
18:54:10.981 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.981 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.currency IS 'The customer currency, defaults to "USD".'
18:54:10.981 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.981 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.delinquent IS 'The customer delinquency status, true or false'
18:54:10.981 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.981 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.description IS 'The customer description'
18:54:10.981 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.981 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.discount IS 'The customer discount, stored as a JSON Discount object.'
18:54:10.981 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.981 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.email IS 'The customer email address.'
18:54:10.981 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.981 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.invoicePrefix IS 'The customer invoice prefix'
18:54:10.981 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.981 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.invoiceSettings IS 'The customer settings, stored as a JSON InvoiceSettings object'
18:54:10.981 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.981 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.metadata IS 'The customer metadata, stored as a JSON object (undefined as of yet)'
18:54:10.981 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.981 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.givenName IS 'The customer given name'
18:54:10.981 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.981 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.surName IS 'The customer surname'
18:54:10.982 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.982 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.phone IS 'The customer phone'
18:54:10.982 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.982 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.3 - Create Customers Table
18:54:10.982 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:10.983 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.4 - Create Products Table
18:54:10.984 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the products table
CREATE SEQUENCE products_id_seq
18:54:10.984 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.984 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS products (
    id integer DEFAULT nextval('products_id_seq') PRIMARY KEY,
    object text NOT NULL,
    active boolean,
    amount integer NOT NULL,
    name text,
    caption text,
    currency text NOT NULL,
    description text,
    interval text NOT NULL,
    created timestamp with time zone,
    statementDescriptor text,
    type text,
    unitLabel text,
    url text,
    metadata json
)
18:54:10.985 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.985 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER SEQUENCE products_id_seq OWNED BY products.id
18:54:10.985 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.985 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX products_active_idx ON products USING btree(active)
18:54:10.986 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.986 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX products_name_idx ON products USING btree(name)
18:54:10.986 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.986 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX products_caption_idx ON products USING btree(caption)
18:54:10.986 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.986 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX products_description_idx ON products USING btree(description)
18:54:10.987 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.987 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE  products IS 'Products that are offered as services.'
18:54:10.987 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.987 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.id IS 'The unique product identifier'
18:54:10.987 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.987 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.object IS 'The serialized object type, set to "product"'
18:54:10.987 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.987 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.active IS 'The active status for the product, true or false.'
18:54:10.987 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.987 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.amount IS 'The cost amount for the product, in pence of the currency'
18:54:10.987 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.987 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.name IS 'The product name.'
18:54:10.987 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.987 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.caption IS 'The product caption, used for display.'
18:54:10.987 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.987 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.currency IS 'The product currency as a 3-letter ISO currency code.'
18:54:10.988 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.988 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.description IS 'The product general description.'
18:54:10.988 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.988 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.interval IS 'The product payment interval (day, week, month, year).'
18:54:10.988 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.988 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.created IS 'The product creation date.'
18:54:10.988 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.988 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.statementDescriptor IS 'The product statement descriptor used on charge statements.'
18:54:10.988 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.988 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.type IS 'The product type, either service or good.'
18:54:10.988 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.988 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.unitLabel IS 'The product unit label.'
18:54:10.988 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.988 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.url IS 'The product URL used for more information.'
18:54:10.988 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.988 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.metadata IS 'The product metadata JSON object, currently a feature list.'
18:54:10.988 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.988 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.4 - Create Products Table
18:54:10.989 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:10.990 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.5 - Insert Standard Products
18:54:10.990 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Individual Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    32000,
    'Faculty or research lab',
    now(),
    'USD',
    'Create a customized portal for your work and projects. Help others understand and access your data.',
    'year',
    'Individual',
    'DataONE Membership Plan - Individual',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "1","hardLimit": "1","totalUsage": "0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:10.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:10.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Small Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    200000,
    'Small institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Small Organization',
    'DataONE Membership Plan - Small Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "5","hardLimit": "5","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:10.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:10.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Medium Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    600000,
    'Medium institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Medium Organization',
    'DataONE Membership Plan - Medium Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "15","hardLimit": "15","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:10.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:10.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Large Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    2800000,
    'Large institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Large Organization',
    'DataONE Membership Plan - Large Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "branded_portal","softLimit": "50","hardLimit": "50","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:10.992 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:10.992 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- Hosted Repository
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    'true',
    1200000,
    'A dedicated repository solution for your group or institution’s data, managed by DataONE',
    now(),
    'USD',
    'Bring the products of your research lab, field station, or library together in a centralized location for efficient sharing, access, and reuse. Accelerate research activity, foster new collaborations, and build community with a repository that meets your needs and reflects your brand.',
    'year',
    'DataONE Hosted Repository',
    'DataONE Hosted Repository',
    'service',
    'repository',
    'https://products.dataone.org/hostedrepo',
    '{"features": [{"name": "trusted_data_repository","label": "A Trusted Data Repository","description": "Preserve and share your data, software, and derived products in a dedicated repository system. Built on our robust and expertly managed repository software and hardware, your research products are safely inactive and easily accessible."},{"name": "individual_fair_Assessments","label": "Individual FAIR Assessments","description": "Evaluate your metadata with community established FAIR principles. Scores are refreshed with updates to your metadata, helping make your data even more Findable, Accessible, Interoperable, and Reusable."},{"name": "powerful_online_submission","label": "Powerful Online Submission","description": "The user friendly data submission tool helps your researchers efficiently upload and describe their data. Users can easily create detailed metadata to enhance interoperability, reusability, and value of data."},{"name": "comprehensive_search","label": "Comprehensive Search","description": "Quickly find data with detailed search filters, or by navigating the interactive map."},{"name": "usage_metrics","label": "Usage Metrics","description": "Understand how your data are being used over time with view, download, and citation metrics."},{"name": "usage_metrics","label": "Usage Metrics","description": "Understand how your data are being used over time with view, download, and citation metrics."},{"name": "expandable_storage","label": "Expandable Storage","description": "Grow your repository capacity based on your storage needs in 1 TB increments.","quota": {"object": "quota","quotaType": "repository_storage","softLimit": 1048576,"hardLimit": 1153434,"totalUsage": 0,"unit": "portal"}},{"name": "geographic_replicas","label": "Geographic Replicas","description": "Your data are replicated to distinct geographic regions for high availability and preservation."},{"name": "api_access","label": "API Access","description": "Programmatically work with your repository through the DataONE tools in R, Python, Matlab, and Java."},{"name": "link_data_and_software","label": "Link data and Software","description": "Easily show how your files relate to each other by providing well-described provenance workflows."},{"name": "private_and_public_access","label": "Private and Public Access","description": "Control access to your datasets\nprior to publication with private groups or just yourself."},{"name": "private_and_public_access","label": "Private and Public Access","description": "Control access to your datasets\nprior to publication with private groups or just yourself."},{"name": "any_file_format","label": "Any File Format","description": "Use the scientific file formats for your community: image, tabular, text, audio, video, and others."},{"name": "share_when_ready","label": "Share When Ready","description": "Keep your dataset private while you document it thoroughly, and then make it public when you are ready."}]}'
)
18:54:10.992 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:10.992 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- Archival Storage
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    'true',
    126000,
    'Additional High Availability Data Storage',
    now(),
    'USD',
    'Increase the available storage in your dedicated hosted repository in 1 TB increments.',
    'year',
    'Additional Data Storage',
    'Additional Data Storage',
    'service',
    'storage',
    'https://products.dataone.org/hostedrepo',
    '{}'
)
18:54:10.992 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:10.992 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.5 - Insert Standard Products
18:54:10.993 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:10.994 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.6 - Create Orders Table
18:54:10.994 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the orders table
CREATE SEQUENCE orders_id_seq
18:54:10.994 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.995 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS orders (
    id integer DEFAULT nextval('orders_id_seq') PRIMARY KEY,
    object text NOT NULL,
    amount integer,
    amountReturned integer,
    charge json,
    created timestamp with time zone,
    currency text,
    customer integer,
    subject text,
    email text,
    items json,
    metadata json,
    name text,
    status text,
    statusTransitions json,
    updated timestamp with time zone,
    seriesId text,
    startDate timestamp with time zone,
    endDate timestamp with time zone
)
18:54:10.996 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.996 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX orders_customer_idx ON orders USING btree(customer)
18:54:10.996 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:10.996 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX orders_subject_idx ON orders USING btree(subject)
18:54:11.000 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.000 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX orders_email_idx ON orders USING btree(email)
18:54:11.000 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.000 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX orders_status_idx ON orders USING btree(status)
18:54:11.000 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.000 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE  orders IS 'Orders of products by customers.'
18:54:11.001 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.001 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.id IS 'The unique order identifier.'
18:54:11.001 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.001 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.object IS 'The serialized object type, set to "order".'
18:54:11.001 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.001 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.amount IS 'The order amount in the smallest unit of the currency.'
18:54:11.001 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.001 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.amountReturned IS 'The order amount returned in the smallest unit of the currency.'
18:54:11.001 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.001 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.charge IS 'The order transaction charge JSON object.'
18:54:11.001 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.001 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.created IS 'The order creation date.'
18:54:11.001 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.001 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.currency IS 'The order currency code.'
18:54:11.001 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.001 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.customer IS 'The order customer identifier.'
18:54:11.001 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.001 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.subject IS 'The order user or group subject identifier.'
18:54:11.001 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.001 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.email IS 'The order customer email.'
18:54:11.001 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.001 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.items IS 'The order items list JSON object.'
18:54:11.001 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.001 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.metadata IS 'The order metadata JSON object.'
18:54:11.002 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.002 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.name IS 'The order name set by the customer.'
18:54:11.002 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.002 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.status IS 'The order status (created, paid, canceled, fulfilled, returned.'
18:54:11.002 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.002 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.statusTransitions IS 'The order status/date transitions JSON object'
18:54:11.002 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.002 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.updated IS 'The order update date.'
18:54:11.002 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.002 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.seriesId IS 'The order series identifier to track renewals.'
18:54:11.002 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.002 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.startDate IS 'The order services start date.'
18:54:11.002 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.002 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.endDate IS 'The order services end date.'
18:54:11.002 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.002 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.6 - Create Orders Table
18:54:11.003 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:11.003 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.7 - Alter Quotas Add Order FK
18:54:11.004 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Add the order id foreign key constraint
ALTER TABLE quotas
    ADD CONSTRAINT quotas_order_id_fk
    FOREIGN KEY (orderId) REFERENCES orders (id) ON DELETE CASCADE
18:54:11.005 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.005 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.7 - Alter Quotas Add Order FK
18:54:11.006 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:11.006 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.8 - Alter Orders Add Customer FK
18:54:11.007 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Add the customer id foreign key constraint
ALTER TABLE orders
    ADD CONSTRAINT orders_customer_id_fk
    FOREIGN KEY (customer) REFERENCES customers (id) ON DELETE CASCADE
18:54:11.008 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.008 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.8 - Alter Orders Add Customer FK
18:54:11.008 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:11.009 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.9 - Create Usages Table
18:54:11.009 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the usages table
CREATE SEQUENCE IF NOT EXISTS usages_id_seq
18:54:11.010 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.010 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS usages (
    id integer DEFAULT nextval('usages_id_seq') PRIMARY KEY,
    object text NOT NULL,
    quotaId integer NOT NULL,
    instanceId text NOT NULL,
    quantity double precision NOT NULL,
    status text,
    nodeId text NOT NULL
)
18:54:11.011 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.011 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER SEQUENCE usages_id_seq OWNED BY usages.id
18:54:11.011 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.011 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX usages_quotaId_idx ON usages USING btree(quotaId)
18:54:11.011 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.011 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX usages_instanceId_idx ON usages USING btree(instanceId)
18:54:11.011 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.011 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER TABLE usages
    ADD CONSTRAINT usages_quotas_id_fk
    FOREIGN KEY (quotaId) REFERENCES quotas (id) ON DELETE CASCADE
18:54:11.012 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.012 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE  usages IS 'Usages records each instance a portion of a quota is used.'
18:54:11.012 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.012 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.id IS 'The unique usage identifier.'
18:54:11.012 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.012 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.object IS 'The serialized object type, set to "usage".'
18:54:11.012 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.012 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.quotaId IS 'The quota identifier.'
18:54:11.013 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.013 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.instanceId IS 'The instance identifier using a portion of the quota.'
18:54:11.013 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.013 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.quantity IS 'The quantity used by the instance, in the quota units.'
18:54:11.013 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.013 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.status IS 'The status of the usage, active or inactive.'
18:54:11.013 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.013 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.nodeId IS 'The quota node identifier".'
18:54:11.013 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.013 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.9 - Create Usages Table
18:54:11.014 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:11.015 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.10 - Create Function Update Quota Table Usage
18:54:11.015 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the update quota usage function for inserts and updates
CREATE OR REPLACE FUNCTION update_quota_usage_on_insert_or_update()
    RETURNS trigger
    AS $update_quota_usage_on_insert_or_update$
    BEGIN
        -- Check that quotaId is given
        IF NEW.quotaId IS NULL THEN
            RAISE EXCEPTION 'quotaId cannot be null';
        END IF;

        -- Update the quotas.totalUsage column
        UPDATE quotas q
            SET totalUsage = (SELECT SUM(u.quantity) FROM usages u WHERE u.status != 'inactive' AND u.quotaId = NEW.quotaId)
                WHERE q.id = NEW.quotaId;
        RETURN NEW;
    END;
    $update_quota_usage_on_insert_or_update$
    LANGUAGE plpgsql
18:54:11.016 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.016 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the update quota totalUsage trigger
DROP TRIGGER IF EXISTS update_quotas_usage_on_insert_or_update ON usages
18:54:11.017 [main] INFO org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - DB: trigger "update_quotas_usage_on_insert_or_update" for relation "usages" does not exist, skipping
18:54:11.017 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.017 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TRIGGER update_quotas_usage_on_insert_or_update AFTER INSERT OR UPDATE ON usages
    FOR EACH ROW
        EXECUTE PROCEDURE update_quota_usage_on_insert_or_update()
18:54:11.017 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.017 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the update quota totalUsage function for deletes
CREATE OR REPLACE FUNCTION update_quota_usage_on_delete()
    RETURNS trigger
    AS $update_quota_usage_on_delete$
    BEGIN
        -- Check that quotaId is given
        IF OLD.quotaId IS NULL THEN
            RAISE EXCEPTION 'quotaId cannot be null';
        END IF;

        -- Update the quotas.usage column
        UPDATE quotas q
            SET totalUsage = (SELECT SUM(u.quantity) FROM usages u WHERE u.status != 'inactive' AND u.quotaId = OLD.quotaId)
                WHERE q.id = OLD.quotaId;
        RETURN OLD;
    END;
    $update_quota_usage_on_delete$
    LANGUAGE plpgsql
18:54:11.017 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.017 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the update quota totalUsage trigger
DROP TRIGGER IF EXISTS update_quotas_usage_on_delete ON usages
18:54:11.017 [main] INFO org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - DB: trigger "update_quotas_usage_on_delete" for relation "usages" does not exist, skipping
18:54:11.017 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.017 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TRIGGER update_quotas_usage_on_delete AFTER DELETE ON usages
    FOR EACH ROW
        EXECUTE PROCEDURE update_quota_usage_on_delete()
18:54:11.017 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.017 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.10 - Create Function Update Quota Table Usage
18:54:11.018 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:11.019 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.11 - Alter Usages Add Unique Constraint
18:54:11.019 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Add a unique constraint to the usage table for the 'quotaid' + 'instanceid' columns
CREATE UNIQUE INDEX usages_quotaid_instanceid_idx
    ON usages USING btree(quotaid,instanceid)
18:54:11.019 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.019 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.11 - Alter Usages Add Unique Constraint
18:54:11.020 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:11.021 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.12 - Alter Quotas Add Unique Constraint OrderId QuotaType
18:54:11.021 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Add a unique constraint to the quotas table for the orderId and quotaType columns
CREATE UNIQUE INDEX quotas_order_id_quota_type_idx
    ON quotas USING btree(orderId, quotaType)
18:54:11.021 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:11.021 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.12 - Alter Quotas Add Unique Constraint OrderId QuotaType
18:54:11.022 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:11.023 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Successfully applied 13 migrations to schema "public" (execution time 00:00.065s)
18:54:11.023 [main] DEBUG org.flywaydb.core.Flyway - Memory usage: 131 of 357M
18:54:11.026 [main] DEBUG org.hibernate.validator.internal.engine.resolver.TraversableResolvers - Cannot find javax.persistence.Persistence on classpath. Assuming non JPA 2 environment. All properties will per default be traversable.
18:54:11.027 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Adding value extractor io.dropwizard.validation.valuehandling.GuavaOptionalValueExtractor@297ea53a
18:54:11.027 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Setting custom ConstraintValidatorFactory of type io.dropwizard.jersey.validation.MutableValidatorFactory
18:54:11.027 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Setting custom ParameterNameProvider of type io.dropwizard.jersey.validation.JerseyParameterNameProvider
18:54:11.027 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Adding value extractor io.dropwizard.jersey.validation.NonEmptyStringParamValueExtractor@3a320ade
18:54:11.027 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Adding value extractor io.dropwizard.jersey.validation.ParamValueExtractor@21005f6c
18:54:11.027 [main] DEBUG org.hibernate.validator.internal.xml.config.ValidationXmlParser - Trying to load META-INF/validation.xml for XML based Validator configuration.
18:54:11.027 [main] DEBUG org.hibernate.validator.internal.xml.config.ResourceLoaderHelper - Trying to load META-INF/validation.xml via TCCL
18:54:11.027 [main] DEBUG org.hibernate.validator.internal.xml.config.ResourceLoaderHelper - Trying to load META-INF/validation.xml via Hibernate Validator's class loader
18:54:11.027 [main] DEBUG org.hibernate.validator.internal.xml.config.ValidationXmlParser - No META-INF/validation.xml found. Using annotation based configuration only.
18:54:11.028 [main] DEBUG org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator - Loaded expression factory via original TCCL
18:54:11.031 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000252: Using org.hibernate.validator.internal.engine.DefaultPropertyNodeNameProvider as property node name provider.
18:54:11.031 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator as ValidatorFactory-scoped message interpolator.
18:54:11.031 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.internal.engine.resolver.TraverseAllTraversableResolver as ValidatorFactory-scoped traversable resolver.
18:54:11.031 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.internal.util.ExecutableParameterNameProvider as ValidatorFactory-scoped parameter name provider.
18:54:11.031 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.internal.engine.DefaultClockProvider as ValidatorFactory-scoped clock provider.
18:54:11.031 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.internal.engine.scripting.DefaultScriptEvaluatorFactory as ValidatorFactory-scoped script evaluator factory.
18:54:11.032 [main] DEBUG org.eclipse.jetty.util.DecoratedObjectFactory - Adding Decorator: org.eclipse.jetty.util.DeprecationWarning@62aeddc8
18:54:11.032 [main] DEBUG org.eclipse.jetty.util.component.ContainerLifeCycle - i.d.j.MutableServletContextHandler@11787b64{/,null,UNAVAILABLE} added {ServletHandler@5707f613{STOPPED},MANAGED}
18:54:11.032 [main] DEBUG org.eclipse.jetty.util.DecoratedObjectFactory - Adding Decorator: org.eclipse.jetty.util.DeprecationWarning@77b3752b
18:54:11.032 [main] DEBUG org.eclipse.jetty.util.component.ContainerLifeCycle - i.d.j.MutableServletContextHandler@6367a688{/,null,UNAVAILABLE} added {ServletHandler@319642db{STOPPED},MANAGED}
18:54:11.258 [main] DEBUG org.flywaydb.core.Flyway - DDL Transactions Supported: true
18:54:11.259 [main] DEBUG org.flywaydb.core.Flyway - Schema: public
18:54:11.259 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning for classpath resources at 'classpath:db/migrations' ...
18:54:11.259 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Determining location urls for classpath:db/migrations using ClassLoader sun.misc.Launcher$AppClassLoader@7f31245a ...
18:54:11.260 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning URL: file:/var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/db/migrations
18:54:11.260 [main] DEBUG org.flywaydb.core.internal.util.FeatureDetector - JBoss VFS v2 available: false
18:54:11.260 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.FileSystemClassPathLocationScanner - Scanning starting at classpath root in filesystem: /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/
18:54:11.260 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.FileSystemClassPathLocationScanner - Scanning for resources in path: /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/db/migrations (db/migrations)
18:54:11.260 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.0__Create_Bookkeeper_Database.sql
18:54:11.260 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.10__Create_Function_Update_Quota_Table_Usage.sql
18:54:11.260 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.11__Alter_Usages_Add_Unique_Constraint.sql
18:54:11.260 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql
18:54:11.260 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.1__Create_Quotas_Table.sql
18:54:11.260 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.2__Insert_Standard_Quotas.sql
18:54:11.260 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.3__Create_Customers_Table.sql
18:54:11.260 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.4__Create_Products_Table.sql
18:54:11.260 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.5__Insert_Standard_Products.sql
18:54:11.260 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.6__Create_Orders_Table.sql
18:54:11.260 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.7__Alter_Quotas_Add_Order_FK.sql
18:54:11.260 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.8__Alter_Orders_Add_Customer_FK.sql
18:54:11.260 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.9__Create_Usages_Table.sql
18:54:11.260 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning for classes at classpath:db/migrations
18:54:11.261 [main] DEBUG org.flywaydb.core.internal.callback.SqlScriptCallbackFactory - Scanning for SQL callbacks ...
18:54:11.261 [main] DEBUG org.flywaydb.core.internal.util.FeatureDetector - Spring Jdbc available: false
18:54:11.266 [main] DEBUG org.flywaydb.core.internal.command.DbClean - Cleaning schema "public" ...
18:54:11.298 [main] INFO org.flywaydb.core.internal.command.DbClean - Successfully cleaned schema "public" (execution time 00:00.031s)
18:54:11.299 [main] DEBUG org.flywaydb.core.Flyway - Memory usage: 237 of 357M
18:54:11.301 [log:pid(19825)] INFO pg-4e20c75c-317a-442f-83d0-13bdf76dac24 - 2020-10-28 18:54:11.301 UTC [19829] LOG:  received fast shutdown request
18:54:11.401 [log:pid(19843)] INFO init-4e20c75c-317a-442f-83d0-13bdf76dac24:pg_ctl - waiting for server to shut down.... done
18:54:11.402 [log:pid(19843)] INFO init-4e20c75c-317a-442f-83d0-13bdf76dac24:pg_ctl - server stopped
18:54:11.402 [main] INFO com.opentable.db.postgres.embedded.EmbeddedPostgres - 4e20c75c-317a-442f-83d0-13bdf76dac24 shut down postmaster in 00:00:00.103
[INFO] Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.043 s - in org.dataone.bookkeeper.jdbi.OrderStoreTest
[INFO] Running org.dataone.bookkeeper.jdbi.UsageStoreTest
18:54:11.878 [log:pid(19847)] INFO init-fad81693-c897-4a3d-a680-36fcbe7b391b:initdb - The files belonging to this database system will be owned by user "jenkins".
18:54:11.878 [log:pid(19847)] INFO init-fad81693-c897-4a3d-a680-36fcbe7b391b:initdb - This user must also own the server process.
18:54:11.878 [log:pid(19847)] INFO init-fad81693-c897-4a3d-a680-36fcbe7b391b:initdb - 
18:54:11.878 [log:pid(19847)] INFO init-fad81693-c897-4a3d-a680-36fcbe7b391b:initdb - The database cluster will be initialized with locale "en_US.UTF-8".
18:54:11.878 [log:pid(19847)] INFO init-fad81693-c897-4a3d-a680-36fcbe7b391b:initdb - The default text search configuration will be set to "english".
18:54:11.878 [log:pid(19847)] INFO init-fad81693-c897-4a3d-a680-36fcbe7b391b:initdb - 
18:54:11.878 [log:pid(19847)] INFO init-fad81693-c897-4a3d-a680-36fcbe7b391b:initdb - Data page checksums are disabled.
18:54:11.878 [log:pid(19847)] INFO init-fad81693-c897-4a3d-a680-36fcbe7b391b:initdb - 
18:54:11.878 [log:pid(19847)] INFO init-fad81693-c897-4a3d-a680-36fcbe7b391b:initdb - fixing permissions on existing directory /tmp/epg655420812797210247 ... ok
18:54:11.878 [log:pid(19847)] INFO init-fad81693-c897-4a3d-a680-36fcbe7b391b:initdb - creating subdirectories ... ok
18:54:11.887 [log:pid(19847)] INFO init-fad81693-c897-4a3d-a680-36fcbe7b391b:initdb - selecting default max_connections ... 100
18:54:11.900 [log:pid(19847)] INFO init-fad81693-c897-4a3d-a680-36fcbe7b391b:initdb - selecting default shared_buffers ... 128MB
18:54:11.900 [log:pid(19847)] INFO init-fad81693-c897-4a3d-a680-36fcbe7b391b:initdb - selecting dynamic shared memory implementation ... posix
18:54:11.968 [log:pid(19847)] INFO init-fad81693-c897-4a3d-a680-36fcbe7b391b:initdb - creating configuration files ... ok
18:54:12.060 [log:pid(19847)] INFO init-fad81693-c897-4a3d-a680-36fcbe7b391b:initdb - running bootstrap script ... ok
18:54:12.526 [log:pid(19847)] INFO init-fad81693-c897-4a3d-a680-36fcbe7b391b:initdb - performing post-bootstrap initialization ... ok
18:54:12.801 [log:pid(19847)] INFO init-fad81693-c897-4a3d-a680-36fcbe7b391b:initdb - syncing data to disk ... ok
18:54:12.801 [log:pid(19847)] INFO init-fad81693-c897-4a3d-a680-36fcbe7b391b:initdb - 
18:54:12.801 [log:pid(19847)] INFO init-fad81693-c897-4a3d-a680-36fcbe7b391b:initdb - Success. You can now start the database server using:
18:54:12.801 [log:pid(19847)] INFO init-fad81693-c897-4a3d-a680-36fcbe7b391b:initdb - 
18:54:12.801 [log:pid(19847)] INFO init-fad81693-c897-4a3d-a680-36fcbe7b391b:initdb -     /tmp/embedded-pg/PG-06e3a92a2edb6ddd6dbdf5602d0252ca/bin/pg_ctl -D /tmp/epg655420812797210247 -l logfile start
18:54:12.801 [log:pid(19847)] INFO init-fad81693-c897-4a3d-a680-36fcbe7b391b:initdb - 
18:54:12.801 [main] INFO com.opentable.db.postgres.embedded.EmbeddedPostgres - fad81693-c897-4a3d-a680-36fcbe7b391b initdb completed in 00:00:00.932
18:54:12.804 [main] INFO com.opentable.db.postgres.embedded.EmbeddedPostgres - fad81693-c897-4a3d-a680-36fcbe7b391b postmaster started as java.lang.UNIXProcess@74a820bf on port 5432.  Waiting up to PT10S for server startup to finish.
18:54:12.816 [log:pid(19864)] INFO pg-fad81693-c897-4a3d-a680-36fcbe7b391b - waiting for server to start....2020-10-28 18:54:12.816 UTC [19868] LOG:  listening on IPv6 address "::1", port 5432
18:54:12.816 [log:pid(19864)] INFO pg-fad81693-c897-4a3d-a680-36fcbe7b391b - 2020-10-28 18:54:12.816 UTC [19868] LOG:  listening on IPv4 address "127.0.0.1", port 5432
18:54:12.816 [log:pid(19864)] INFO pg-fad81693-c897-4a3d-a680-36fcbe7b391b - 2020-10-28 18:54:12.816 UTC [19868] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
18:54:12.850 [log:pid(19864)] INFO pg-fad81693-c897-4a3d-a680-36fcbe7b391b - 2020-10-28 18:54:12.850 UTC [19869] LOG:  database system was shut down at 2020-10-28 18:54:12 UTC
18:54:12.853 [log:pid(19864)] INFO pg-fad81693-c897-4a3d-a680-36fcbe7b391b - 2020-10-28 18:54:12.853 UTC [19868] LOG:  database system is ready to accept connections
18:54:12.905 [log:pid(19864)] INFO pg-fad81693-c897-4a3d-a680-36fcbe7b391b - 2020-10-28 18:54:12.905 UTC [19876] LOG:  incomplete startup packet
18:54:12.910 [log:pid(19864)] INFO pg-fad81693-c897-4a3d-a680-36fcbe7b391b -  done
18:54:12.910 [log:pid(19864)] INFO pg-fad81693-c897-4a3d-a680-36fcbe7b391b - server started
18:54:12.912 [main] INFO com.opentable.db.postgres.embedded.EmbeddedPostgres - fad81693-c897-4a3d-a680-36fcbe7b391b postmaster startup finished in 00:00:00.110
18:54:12.919 [main] INFO org.flywaydb.core.internal.database.DatabaseFactory - Database: jdbc:postgresql://localhost:5432/postgres (PostgreSQL 10.6)
18:54:12.919 [main] DEBUG org.flywaydb.core.internal.database.DatabaseFactory - Driver  : PostgreSQL JDBC Driver 42.2.6
18:54:12.920 [main] DEBUG org.flywaydb.core.Flyway - DDL Transactions Supported: true
18:54:12.920 [main] DEBUG org.flywaydb.core.Flyway - Schema: public
18:54:12.920 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning for classpath resources at 'classpath:db/migrations' ...
18:54:12.920 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Determining location urls for classpath:db/migrations using ClassLoader sun.misc.Launcher$AppClassLoader@7f31245a ...
18:54:12.921 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning URL: file:/var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/db/migrations
18:54:12.921 [main] DEBUG org.flywaydb.core.internal.util.FeatureDetector - JBoss VFS v2 available: false
18:54:12.921 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.FileSystemClassPathLocationScanner - Scanning starting at classpath root in filesystem: /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/
18:54:12.921 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.FileSystemClassPathLocationScanner - Scanning for resources in path: /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/db/migrations (db/migrations)
18:54:12.921 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.0__Create_Bookkeeper_Database.sql
18:54:12.921 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.10__Create_Function_Update_Quota_Table_Usage.sql
18:54:12.921 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.11__Alter_Usages_Add_Unique_Constraint.sql
18:54:12.921 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql
18:54:12.921 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.1__Create_Quotas_Table.sql
18:54:12.921 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.2__Insert_Standard_Quotas.sql
18:54:12.921 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.3__Create_Customers_Table.sql
18:54:12.921 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.4__Create_Products_Table.sql
18:54:12.921 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.5__Insert_Standard_Products.sql
18:54:12.921 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.6__Create_Orders_Table.sql
18:54:12.921 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.7__Alter_Quotas_Add_Order_FK.sql
18:54:12.921 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.8__Alter_Orders_Add_Customer_FK.sql
18:54:12.921 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.9__Create_Usages_Table.sql
18:54:12.921 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning for classes at classpath:db/migrations
18:54:12.921 [main] DEBUG org.flywaydb.core.internal.callback.SqlScriptCallbackFactory - Scanning for SQL callbacks ...
18:54:12.922 [main] DEBUG org.flywaydb.core.internal.util.FeatureDetector - Spring Jdbc available: false
18:54:12.924 [main] DEBUG org.flywaydb.core.internal.command.DbValidate - Validating migrations ...
18:54:12.925 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.0__Create_Bookkeeper_Database.sql ...
18:54:12.925 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.10__Create_Function_Update_Quota_Table_Usage.sql ...
18:54:12.926 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the update quota usage function for inserts and updates
CREATE OR REPLACE FUNCTION update_quota_usage_on_insert_or_update()
    RETURNS trigger
    AS $update_quota_usage_on_insert_or_update$
    BEGIN
        -- Check that quotaId is given
        IF NEW.quotaId IS NULL THEN
            RAISE EXCEPTION 'quotaId cannot be null';
        END IF;

        -- Update the quotas.totalUsage column
        UPDATE quotas q
            SET totalUsage = (SELECT SUM(u.quantity) FROM usages u WHERE u.status != 'inactive' AND u.quotaId = NEW.quotaId)
                WHERE q.id = NEW.quotaId;
        RETURN NEW;
    END;
    $update_quota_usage_on_insert_or_update$
    LANGUAGE plpgsql
18:54:12.926 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 23: --- Create the update quota totalUsage trigger
DROP TRIGGER IF EXISTS update_quotas_usage_on_insert_or_update ON usages
18:54:12.926 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 25: CREATE TRIGGER update_quotas_usage_on_insert_or_update AFTER INSERT OR UPDATE ON usages
    FOR EACH ROW
        EXECUTE PROCEDURE update_quota_usage_on_insert_or_update()
18:54:12.926 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: --- Create the update quota totalUsage function for deletes
CREATE OR REPLACE FUNCTION update_quota_usage_on_delete()
    RETURNS trigger
    AS $update_quota_usage_on_delete$
    BEGIN
        -- Check that quotaId is given
        IF OLD.quotaId IS NULL THEN
            RAISE EXCEPTION 'quotaId cannot be null';
        END IF;

        -- Update the quotas.usage column
        UPDATE quotas q
            SET totalUsage = (SELECT SUM(u.quantity) FROM usages u WHERE u.status != 'inactive' AND u.quotaId = OLD.quotaId)
                WHERE q.id = OLD.quotaId;
        RETURN OLD;
    END;
    $update_quota_usage_on_delete$
    LANGUAGE plpgsql
18:54:12.926 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 48: --- Create the update quota totalUsage trigger
DROP TRIGGER IF EXISTS update_quotas_usage_on_delete ON usages
18:54:12.926 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 50: CREATE TRIGGER update_quotas_usage_on_delete AFTER DELETE ON usages
    FOR EACH ROW
        EXECUTE PROCEDURE update_quota_usage_on_delete()
18:54:12.927 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.11__Alter_Usages_Add_Unique_Constraint.sql ...
18:54:12.927 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Add a unique constraint to the usage table for the 'quotaid' + 'instanceid' columns
CREATE UNIQUE INDEX usages_quotaid_instanceid_idx
    ON usages USING btree(quotaid,instanceid)
18:54:12.927 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql ...
18:54:12.927 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Add a unique constraint to the quotas table for the orderId and quotaType columns
CREATE UNIQUE INDEX quotas_order_id_quota_type_idx
    ON quotas USING btree(orderId, quotaType)
18:54:12.928 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.1__Create_Quotas_Table.sql ...
18:54:12.928 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the quotas table
CREATE SEQUENCE IF NOT EXISTS quotas_id_seq
18:54:12.928 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS quotas (
    id integer DEFAULT nextval('quotas_id_seq') PRIMARY KEY,
    object text NOT NULL,
    quotaType text NOT NULL,
    softLimit double precision NOT NULL,
    hardLimit double precision NOT NULL,
    totalUsage double precision,
    unit text NOT NULL,
    orderId integer,
    subject text,
    name text
)
18:54:12.928 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 19: ALTER SEQUENCE quotas_id_seq OWNED BY quotas.id
18:54:12.928 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 21: CREATE INDEX quotas_quotaType_idx ON quotas USING btree(quotaType)
18:54:12.928 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 22: CREATE INDEX quotas_orderId_idx ON quotas USING btree(orderId)
18:54:12.928 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 23: CREATE INDEX quotas_subject_idx ON quotas USING btree(subject)
18:54:12.928 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 25: COMMENT ON TABLE quotas IS 'Quotas limiting resources for products per customer. Quotas may be associated with products or customers by their ids.'
18:54:12.928 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 26: COMMENT ON COLUMN quotas.id IS 'The unique quota identifier'
18:54:12.928 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 27: COMMENT ON COLUMN quotas.object IS 'The serialized object type, set to "quota"'
18:54:12.928 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 28: COMMENT ON COLUMN quotas.quotaType IS 'The quota type'
18:54:12.929 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: COMMENT ON COLUMN quotas.softLimit IS 'The soft limit of the resource.'
18:54:12.929 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 30: COMMENT ON COLUMN quotas.hardLimit IS 'The hard limit of the resource.'
18:54:12.929 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: COMMENT ON COLUMN quotas.totalUsage IS 'The current observed total usage of the quota.'
18:54:12.929 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: COMMENT ON COLUMN quotas.unit IS 'The named unit of the quota.'
18:54:12.929 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 33: COMMENT ON COLUMN quotas.orderId IS 'The order id to which the quota is applied.'
18:54:12.929 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 34: COMMENT ON COLUMN quotas.subject IS 'The subject identifier to which the quota is applied.'
18:54:12.929 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 35: COMMENT ON COLUMN quotas.name IS 'The quota name, copied from the order name.'
18:54:12.929 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.2__Insert_Standard_Quotas.sql ...
18:54:12.929 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 3: -- 1GB base storage limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'storage', 1073741824.0, 1181116006.4, NULL, 'byte', NULL, NULL)
18:54:12.930 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: -- 1TB base hosted repository storage limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'repository_storage', 1099511627776.0, 1209462790553.6, NULL, 'byte', NULL,
    NULL)
18:54:12.930 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 12: -- Single base branded portal limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'portal', 1.0, 1.0, NULL, 'portal', NULL, NULL)
18:54:12.930 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.3__Create_Customers_Table.sql ...
18:54:12.930 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the customers table
CREATE SEQUENCE customers_id_seq
18:54:12.931 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS customers (
    id integer DEFAULT nextval('customers_id_seq') PRIMARY KEY,
    object text NOT NULL,
    subject text NOT NULL,
    balance integer,
    address json,
    created timestamp with time zone,
    currency text,
    delinquent boolean,
    description text,
    discount json,
    email text,
    invoicePrefix text,
    invoiceSettings json,
    metadata json,
    givenName text,
    surName text,
    phone text
)
18:54:12.931 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 26: ALTER SEQUENCE customers_id_seq OWNED BY customers.id
18:54:12.931 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 27: CREATE INDEX customers_subject_idx ON customers USING btree(subject)
18:54:12.931 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 28: CREATE INDEX customers_email_idx ON customers USING btree(email)
18:54:12.931 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 30: COMMENT ON TABLE customers IS 'Customers that have ordered products and have quotas.'
18:54:12.931 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: COMMENT ON COLUMN customers.id IS 'The unique customer identifier.'
18:54:12.931 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: COMMENT ON COLUMN customers.object IS 'The serialized object type, set to "customer".'
18:54:12.931 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 33: COMMENT ON COLUMN customers.subject IS 'The unique customer Subject identifier.'
18:54:12.931 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 34: COMMENT ON COLUMN customers.balance IS 'The customer balance, in the smallest unit of the currency (i.e. USD cents).'
18:54:12.931 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 35: COMMENT ON COLUMN customers.address IS 'The customer address, stored as a JSON address object.'
18:54:12.931 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 36: COMMENT ON COLUMN customers.created IS 'The customer creation date.'
18:54:12.931 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 37: COMMENT ON COLUMN customers.currency IS 'The customer currency, defaults to "USD".'
18:54:12.931 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 38: COMMENT ON COLUMN customers.delinquent IS 'The customer delinquency status, true or false'
18:54:12.931 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 39: COMMENT ON COLUMN customers.description IS 'The customer description'
18:54:12.931 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 40: COMMENT ON COLUMN customers.discount IS 'The customer discount, stored as a JSON Discount object.'
18:54:12.931 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 41: COMMENT ON COLUMN customers.email IS 'The customer email address.'
18:54:12.931 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 42: COMMENT ON COLUMN customers.invoicePrefix IS 'The customer invoice prefix'
18:54:12.931 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 43: COMMENT ON COLUMN customers.invoiceSettings IS 'The customer settings, stored as a JSON InvoiceSettings object'
18:54:12.931 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 44: COMMENT ON COLUMN customers.metadata IS 'The customer metadata, stored as a JSON object (undefined as of yet)'
18:54:12.931 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 45: COMMENT ON COLUMN customers.givenName IS 'The customer given name'
18:54:12.931 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 46: COMMENT ON COLUMN customers.surName IS 'The customer surname'
18:54:12.931 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 47: COMMENT ON COLUMN customers.phone IS 'The customer phone'
18:54:12.932 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.4__Create_Products_Table.sql ...
18:54:12.932 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the products table
CREATE SEQUENCE products_id_seq
18:54:12.932 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS products (
    id integer DEFAULT nextval('products_id_seq') PRIMARY KEY,
    object text NOT NULL,
    active boolean,
    amount integer NOT NULL,
    name text,
    caption text,
    currency text NOT NULL,
    description text,
    interval text NOT NULL,
    created timestamp with time zone,
    statementDescriptor text,
    type text,
    unitLabel text,
    url text,
    metadata json
)
18:54:12.932 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 24: ALTER SEQUENCE products_id_seq OWNED BY products.id
18:54:12.932 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 26: CREATE INDEX products_active_idx ON products USING btree(active)
18:54:12.932 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 27: CREATE INDEX products_name_idx ON products USING btree(name)
18:54:12.932 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 28: CREATE INDEX products_caption_idx ON products USING btree(caption)
18:54:12.933 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: CREATE INDEX products_description_idx ON products USING btree(description)
18:54:12.933 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: COMMENT ON TABLE  products IS 'Products that are offered as services.'
18:54:12.933 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: COMMENT ON COLUMN products.id IS 'The unique product identifier'
18:54:12.933 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 33: COMMENT ON COLUMN products.object IS 'The serialized object type, set to "product"'
18:54:12.933 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 34: COMMENT ON COLUMN products.active IS 'The active status for the product, true or false.'
18:54:12.933 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 35: COMMENT ON COLUMN products.amount IS 'The cost amount for the product, in pence of the currency'
18:54:12.933 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 36: COMMENT ON COLUMN products.name IS 'The product name.'
18:54:12.933 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 37: COMMENT ON COLUMN products.caption IS 'The product caption, used for display.'
18:54:12.933 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 38: COMMENT ON COLUMN products.currency IS 'The product currency as a 3-letter ISO currency code.'
18:54:12.933 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 39: COMMENT ON COLUMN products.description IS 'The product general description.'
18:54:12.933 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 40: COMMENT ON COLUMN products.interval IS 'The product payment interval (day, week, month, year).'
18:54:12.933 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 41: COMMENT ON COLUMN products.created IS 'The product creation date.'
18:54:12.933 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 42: COMMENT ON COLUMN products.statementDescriptor IS 'The product statement descriptor used on charge statements.'
18:54:12.933 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 43: COMMENT ON COLUMN products.type IS 'The product type, either service or good.'
18:54:12.933 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 44: COMMENT ON COLUMN products.unitLabel IS 'The product unit label.'
18:54:12.933 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 45: COMMENT ON COLUMN products.url IS 'The product URL used for more information.'
18:54:12.933 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 46: COMMENT ON COLUMN products.metadata IS 'The product metadata JSON object, currently a feature list.'
18:54:12.933 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.5__Insert_Standard_Products.sql ...
18:54:12.934 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 3: --- Individual Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    32000,
    'Faculty or research lab',
    now(),
    'USD',
    'Create a customized portal for your work and projects. Help others understand and access your data.',
    'year',
    'Individual',
    'DataONE Membership Plan - Individual',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "1","hardLimit": "1","totalUsage": "0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:12.935 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 24: --- Small Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    200000,
    'Small institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Small Organization',
    'DataONE Membership Plan - Small Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "5","hardLimit": "5","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:12.936 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 44: --- Medium Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    600000,
    'Medium institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Medium Organization',
    'DataONE Membership Plan - Medium Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "15","hardLimit": "15","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:12.937 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 64: --- Large Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    2800000,
    'Large institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Large Organization',
    'DataONE Membership Plan - Large Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "branded_portal","softLimit": "50","hardLimit": "50","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:12.938 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 84: -- Hosted Repository
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    'true',
    1200000,
    'A dedicated repository solution for your group or institution’s data, managed by DataONE',
    now(),
    'USD',
    'Bring the products of your research lab, field station, or library together in a centralized location for efficient sharing, access, and reuse. Accelerate research activity, foster new collaborations, and build community with a repository that meets your needs and reflects your brand.',
    'year',
    'DataONE Hosted Repository',
    'DataONE Hosted Repository',
    'service',
    'repository',
    'https://products.dataone.org/hostedrepo',
    '{"features": [{"name": "trusted_data_repository","label": "A Trusted Data Repository","description": "Preserve and share your data, software, and derived products in a dedicated repository system. Built on our robust and expertly managed repository software and hardware, your research products are safely inactive and easily accessible."},{"name": "individual_fair_Assessments","label": "Individual FAIR Assessments","description": "Evaluate your metadata with community established FAIR principles. Scores are refreshed with updates to your metadata, helping make your data even more Findable, Accessible, Interoperable, and Reusable."},{"name": "powerful_online_submission","label": "Powerful Online Submission","description": "The user friendly data submission tool helps your researchers efficiently upload and describe their data. Users can easily create detailed metadata to enhance interoperability, reusability, and value of data."},{"name": "comprehensive_search","label": "Comprehensive Search","description": "Quickly find data with detailed search filters, or by navigating the interactive map."},{"name": "usage_metrics","label": "Usage Metrics","description": "Understand how your data are being used over time with view, download, and citation metrics."},{"name": "usage_metrics","label": "Usage Metrics","description": "Understand how your data are being used over time with view, download, and citation metrics."},{"name": "expandable_storage","label": "Expandable Storage","description": "Grow your repository capacity based on your storage needs in 1 TB increments.","quota": {"object": "quota","quotaType": "repository_storage","softLimit": 1048576,"hardLimit": 1153434,"totalUsage": 0,"unit": "portal"}},{"name": "geographic_replicas","label": "Geographic Replicas","description": "Your data are replicated to distinct geographic regions for high availability and preservation."},{"name": "api_access","label": "API Access","description": "Programmatically work with your repository through the DataONE tools in R, Python, Matlab, and Java."},{"name": "link_data_and_software","label": "Link data and Software","description": "Easily show how your files relate to each other by providing well-described provenance workflows."},{"name": "private_and_public_access","label": "Private and Public Access","description": "Control access to your datasets\nprior to publication with private groups or just yourself."},{"name": "private_and_public_access","label": "Private and Public Access","description": "Control access to your datasets\nprior to publication with private groups or just yourself."},{"name": "any_file_format","label": "Any File Format","description": "Use the scientific file formats for your community: image, tabular, text, audio, video, and others."},{"name": "share_when_ready","label": "Share When Ready","description": "Keep your dataset private while you document it thoroughly, and then make it public when you are ready."}]}'
)
18:54:12.939 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 104: -- Archival Storage
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    'true',
    126000,
    'Additional High Availability Data Storage',
    now(),
    'USD',
    'Increase the available storage in your dedicated hosted repository in 1 TB increments.',
    'year',
    'Additional Data Storage',
    'Additional Data Storage',
    'service',
    'storage',
    'https://products.dataone.org/hostedrepo',
    '{}'
)
18:54:12.940 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.6__Create_Orders_Table.sql ...
18:54:12.940 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the orders table
CREATE SEQUENCE orders_id_seq
18:54:12.940 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS orders (
    id integer DEFAULT nextval('orders_id_seq') PRIMARY KEY,
    object text NOT NULL,
    amount integer,
    amountReturned integer,
    charge json,
    created timestamp with time zone,
    currency text,
    customer integer,
    subject text,
    email text,
    items json,
    metadata json,
    name text,
    status text,
    statusTransitions json,
    updated timestamp with time zone,
    seriesId text,
    startDate timestamp with time zone,
    endDate timestamp with time zone
)
18:54:12.940 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: CREATE INDEX orders_customer_idx ON orders USING btree(customer)
18:54:12.940 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 30: CREATE INDEX orders_subject_idx ON orders USING btree(subject)
18:54:12.941 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: CREATE INDEX orders_email_idx ON orders USING btree(email)
18:54:12.941 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: CREATE INDEX orders_status_idx ON orders USING btree(status)
18:54:12.941 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 34: COMMENT ON TABLE  orders IS 'Orders of products by customers.'
18:54:12.941 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 35: COMMENT ON COLUMN orders.id IS 'The unique order identifier.'
18:54:12.941 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 36: COMMENT ON COLUMN orders.object IS 'The serialized object type, set to "order".'
18:54:12.941 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 37: COMMENT ON COLUMN orders.amount IS 'The order amount in the smallest unit of the currency.'
18:54:12.941 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 38: COMMENT ON COLUMN orders.amountReturned IS 'The order amount returned in the smallest unit of the currency.'
18:54:12.941 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 39: COMMENT ON COLUMN orders.charge IS 'The order transaction charge JSON object.'
18:54:12.941 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 40: COMMENT ON COLUMN orders.created IS 'The order creation date.'
18:54:12.941 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 41: COMMENT ON COLUMN orders.currency IS 'The order currency code.'
18:54:12.941 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 42: COMMENT ON COLUMN orders.customer IS 'The order customer identifier.'
18:54:12.941 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 43: COMMENT ON COLUMN orders.subject IS 'The order user or group subject identifier.'
18:54:12.941 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 44: COMMENT ON COLUMN orders.email IS 'The order customer email.'
18:54:12.941 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 45: COMMENT ON COLUMN orders.items IS 'The order items list JSON object.'
18:54:12.941 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 46: COMMENT ON COLUMN orders.metadata IS 'The order metadata JSON object.'
18:54:12.941 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 47: COMMENT ON COLUMN orders.name IS 'The order name set by the customer.'
18:54:12.941 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 48: COMMENT ON COLUMN orders.status IS 'The order status (created, paid, canceled, fulfilled, returned.'
18:54:12.941 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 49: COMMENT ON COLUMN orders.statusTransitions IS 'The order status/date transitions JSON object'
18:54:12.941 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 50: COMMENT ON COLUMN orders.updated IS 'The order update date.'
18:54:12.941 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 51: COMMENT ON COLUMN orders.seriesId IS 'The order series identifier to track renewals.'
18:54:12.941 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 52: COMMENT ON COLUMN orders.startDate IS 'The order services start date.'
18:54:12.941 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 53: COMMENT ON COLUMN orders.endDate IS 'The order services end date.'
18:54:12.942 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.7__Alter_Quotas_Add_Order_FK.sql ...
18:54:12.942 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Add the order id foreign key constraint
ALTER TABLE quotas
    ADD CONSTRAINT quotas_order_id_fk
    FOREIGN KEY (orderId) REFERENCES orders (id) ON DELETE CASCADE
18:54:12.942 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.8__Alter_Orders_Add_Customer_FK.sql ...
18:54:12.943 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Add the customer id foreign key constraint
ALTER TABLE orders
    ADD CONSTRAINT orders_customer_id_fk
    FOREIGN KEY (customer) REFERENCES customers (id) ON DELETE CASCADE
18:54:12.943 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.9__Create_Usages_Table.sql ...
18:54:12.943 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the usages table
CREATE SEQUENCE IF NOT EXISTS usages_id_seq
18:54:12.943 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS usages (
    id integer DEFAULT nextval('usages_id_seq') PRIMARY KEY,
    object text NOT NULL,
    quotaId integer NOT NULL,
    instanceId text NOT NULL,
    quantity double precision NOT NULL,
    status text,
    nodeId text NOT NULL
)
18:54:12.943 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 16: ALTER SEQUENCE usages_id_seq OWNED BY usages.id
18:54:12.943 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 18: CREATE INDEX usages_quotaId_idx ON usages USING btree(quotaId)
18:54:12.943 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 19: CREATE INDEX usages_instanceId_idx ON usages USING btree(instanceId)
18:54:12.944 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 21: ALTER TABLE usages
    ADD CONSTRAINT usages_quotas_id_fk
    FOREIGN KEY (quotaId) REFERENCES quotas (id) ON DELETE CASCADE
18:54:12.944 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 25: COMMENT ON TABLE  usages IS 'Usages records each instance a portion of a quota is used.'
18:54:12.944 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 26: COMMENT ON COLUMN usages.id IS 'The unique usage identifier.'
18:54:12.944 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 27: COMMENT ON COLUMN usages.object IS 'The serialized object type, set to "usage".'
18:54:12.944 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 28: COMMENT ON COLUMN usages.quotaId IS 'The quota identifier.'
18:54:12.944 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: COMMENT ON COLUMN usages.instanceId IS 'The instance identifier using a portion of the quota.'
18:54:12.944 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 30: COMMENT ON COLUMN usages.quantity IS 'The quantity used by the instance, in the quota units.'
18:54:12.944 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: COMMENT ON COLUMN usages.status IS 'The status of the usage, active or inactive.'
18:54:12.944 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: COMMENT ON COLUMN usages.nodeId IS 'The quota node identifier".'
18:54:12.944 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.0__Create_Bookkeeper_Database.sql (filename: V1.0__Create_Bookkeeper_Database.sql)
18:54:12.944 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.10__Create_Function_Update_Quota_Table_Usage.sql (filename: V1.10__Create_Function_Update_Quota_Table_Usage.sql)
18:54:12.944 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.11__Alter_Usages_Add_Unique_Constraint.sql (filename: V1.11__Alter_Usages_Add_Unique_Constraint.sql)
18:54:12.944 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql (filename: V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql)
18:54:12.944 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.1__Create_Quotas_Table.sql (filename: V1.1__Create_Quotas_Table.sql)
18:54:12.944 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.2__Insert_Standard_Quotas.sql (filename: V1.2__Insert_Standard_Quotas.sql)
18:54:12.944 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.3__Create_Customers_Table.sql (filename: V1.3__Create_Customers_Table.sql)
18:54:12.944 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.4__Create_Products_Table.sql (filename: V1.4__Create_Products_Table.sql)
18:54:12.944 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.5__Insert_Standard_Products.sql (filename: V1.5__Insert_Standard_Products.sql)
18:54:12.944 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.6__Create_Orders_Table.sql (filename: V1.6__Create_Orders_Table.sql)
18:54:12.944 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.7__Alter_Quotas_Add_Order_FK.sql (filename: V1.7__Alter_Quotas_Add_Order_FK.sql)
18:54:12.944 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.8__Alter_Orders_Add_Customer_FK.sql (filename: V1.8__Alter_Orders_Add_Customer_FK.sql)
18:54:12.944 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.9__Create_Usages_Table.sql (filename: V1.9__Create_Usages_Table.sql)
18:54:12.945 [main] INFO org.flywaydb.core.internal.command.DbValidate - Successfully validated 13 migrations (execution time 00:00.020s)
18:54:12.945 [main] DEBUG org.flywaydb.core.internal.command.DbSchemas - Schema "public" already exists. Skipping schema creation.
18:54:12.950 [main] INFO org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Creating Schema History table: "public"."flyway_schema_history"
18:54:12.950 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing createMetaDataTable.sql ...
18:54:12.951 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 17: CREATE TABLE "public"."flyway_schema_history" (
    "installed_rank" INT NOT NULL,
    "version" VARCHAR(50),
    "description" VARCHAR(200) NOT NULL,
    "type" VARCHAR(20) NOT NULL,
    "script" VARCHAR(1000) NOT NULL,
    "checksum" INTEGER,
    "installed_by" VARCHAR(100) NOT NULL,
    "installed_on" TIMESTAMP NOT NULL DEFAULT now(),
    "execution_time" INTEGER NOT NULL,
    "success" BOOLEAN NOT NULL
)
18:54:12.951 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: ALTER TABLE "public"."flyway_schema_history" ADD CONSTRAINT "flyway_schema_history_pk" PRIMARY KEY ("installed_rank")
18:54:12.951 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: CREATE INDEX "flyway_schema_history_s_idx" ON "public"."flyway_schema_history" ("success")
18:54:12.951 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE "public"."flyway_schema_history" (
    "installed_rank" INT NOT NULL,
    "version" VARCHAR(50),
    "description" VARCHAR(200) NOT NULL,
    "type" VARCHAR(20) NOT NULL,
    "script" VARCHAR(1000) NOT NULL,
    "checksum" INTEGER,
    "installed_by" VARCHAR(100) NOT NULL,
    "installed_on" TIMESTAMP NOT NULL DEFAULT now(),
    "execution_time" INTEGER NOT NULL,
    "success" BOOLEAN NOT NULL
)
18:54:12.954 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.954 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER TABLE "public"."flyway_schema_history" ADD CONSTRAINT "flyway_schema_history_pk" PRIMARY KEY ("installed_rank")
18:54:12.955 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.955 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX "flyway_schema_history_s_idx" ON "public"."flyway_schema_history" ("success")
18:54:12.955 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.955 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Created Schema History table: "public"."flyway_schema_history"
18:54:12.957 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Current version of schema "public": << Empty Schema >>
18:54:12.957 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.0 - Create Bookkeeper Database
18:54:12.958 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.0 - Create Bookkeeper Database
18:54:12.959 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:12.960 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.1 - Create Quotas Table
18:54:12.960 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the quotas table
CREATE SEQUENCE IF NOT EXISTS quotas_id_seq
18:54:12.961 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.961 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS quotas (
    id integer DEFAULT nextval('quotas_id_seq') PRIMARY KEY,
    object text NOT NULL,
    quotaType text NOT NULL,
    softLimit double precision NOT NULL,
    hardLimit double precision NOT NULL,
    totalUsage double precision,
    unit text NOT NULL,
    orderId integer,
    subject text,
    name text
)
18:54:12.962 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.962 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER SEQUENCE quotas_id_seq OWNED BY quotas.id
18:54:12.962 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.962 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX quotas_quotaType_idx ON quotas USING btree(quotaType)
18:54:12.963 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.963 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX quotas_orderId_idx ON quotas USING btree(orderId)
18:54:12.963 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.963 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX quotas_subject_idx ON quotas USING btree(subject)
18:54:12.963 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.963 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE quotas IS 'Quotas limiting resources for products per customer. Quotas may be associated with products or customers by their ids.'
18:54:12.964 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.964 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.id IS 'The unique quota identifier'
18:54:12.964 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.964 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.object IS 'The serialized object type, set to "quota"'
18:54:12.964 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.964 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.quotaType IS 'The quota type'
18:54:12.964 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.964 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.softLimit IS 'The soft limit of the resource.'
18:54:12.964 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.964 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.hardLimit IS 'The hard limit of the resource.'
18:54:12.964 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.964 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.totalUsage IS 'The current observed total usage of the quota.'
18:54:12.964 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.964 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.unit IS 'The named unit of the quota.'
18:54:12.964 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.964 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.orderId IS 'The order id to which the quota is applied.'
18:54:12.964 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.964 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.subject IS 'The subject identifier to which the quota is applied.'
18:54:12.964 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.964 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.name IS 'The quota name, copied from the order name.'
18:54:12.965 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.965 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.1 - Create Quotas Table
18:54:12.965 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:12.966 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.2 - Insert Standard Quotas
18:54:12.967 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- 1GB base storage limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'storage', 1073741824.0, 1181116006.4, NULL, 'byte', NULL, NULL)
18:54:12.967 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:12.967 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- 1TB base hosted repository storage limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'repository_storage', 1099511627776.0, 1209462790553.6, NULL, 'byte', NULL,
    NULL)
18:54:12.967 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:12.967 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- Single base branded portal limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'portal', 1.0, 1.0, NULL, 'portal', NULL, NULL)
18:54:12.968 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:12.968 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.2 - Insert Standard Quotas
18:54:12.968 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:12.969 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.3 - Create Customers Table
18:54:12.969 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the customers table
CREATE SEQUENCE customers_id_seq
18:54:12.970 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.970 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS customers (
    id integer DEFAULT nextval('customers_id_seq') PRIMARY KEY,
    object text NOT NULL,
    subject text NOT NULL,
    balance integer,
    address json,
    created timestamp with time zone,
    currency text,
    delinquent boolean,
    description text,
    discount json,
    email text,
    invoicePrefix text,
    invoiceSettings json,
    metadata json,
    givenName text,
    surName text,
    phone text
)
18:54:12.971 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.971 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER SEQUENCE customers_id_seq OWNED BY customers.id
18:54:12.971 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.971 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX customers_subject_idx ON customers USING btree(subject)
18:54:12.971 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.971 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX customers_email_idx ON customers USING btree(email)
18:54:12.972 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.972 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE customers IS 'Customers that have ordered products and have quotas.'
18:54:12.972 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.972 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.id IS 'The unique customer identifier.'
18:54:12.972 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.972 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.object IS 'The serialized object type, set to "customer".'
18:54:12.972 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.972 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.subject IS 'The unique customer Subject identifier.'
18:54:12.972 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.972 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.balance IS 'The customer balance, in the smallest unit of the currency (i.e. USD cents).'
18:54:12.972 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.972 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.address IS 'The customer address, stored as a JSON address object.'
18:54:12.972 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.972 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.created IS 'The customer creation date.'
18:54:12.972 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.972 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.currency IS 'The customer currency, defaults to "USD".'
18:54:12.972 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.972 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.delinquent IS 'The customer delinquency status, true or false'
18:54:12.973 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.973 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.description IS 'The customer description'
18:54:12.973 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.973 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.discount IS 'The customer discount, stored as a JSON Discount object.'
18:54:12.973 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.973 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.email IS 'The customer email address.'
18:54:12.973 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.973 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.invoicePrefix IS 'The customer invoice prefix'
18:54:12.973 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.973 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.invoiceSettings IS 'The customer settings, stored as a JSON InvoiceSettings object'
18:54:12.973 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.973 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.metadata IS 'The customer metadata, stored as a JSON object (undefined as of yet)'
18:54:12.973 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.973 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.givenName IS 'The customer given name'
18:54:12.973 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.973 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.surName IS 'The customer surname'
18:54:12.973 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.973 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.phone IS 'The customer phone'
18:54:12.973 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.973 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.3 - Create Customers Table
18:54:12.974 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:12.975 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.4 - Create Products Table
18:54:12.975 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the products table
CREATE SEQUENCE products_id_seq
18:54:12.976 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.976 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS products (
    id integer DEFAULT nextval('products_id_seq') PRIMARY KEY,
    object text NOT NULL,
    active boolean,
    amount integer NOT NULL,
    name text,
    caption text,
    currency text NOT NULL,
    description text,
    interval text NOT NULL,
    created timestamp with time zone,
    statementDescriptor text,
    type text,
    unitLabel text,
    url text,
    metadata json
)
18:54:12.977 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.977 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER SEQUENCE products_id_seq OWNED BY products.id
18:54:12.977 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.977 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX products_active_idx ON products USING btree(active)
18:54:12.977 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.977 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX products_name_idx ON products USING btree(name)
18:54:12.978 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.978 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX products_caption_idx ON products USING btree(caption)
18:54:12.978 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.978 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX products_description_idx ON products USING btree(description)
18:54:12.978 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.978 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE  products IS 'Products that are offered as services.'
18:54:12.978 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.979 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.id IS 'The unique product identifier'
18:54:12.979 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.979 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.object IS 'The serialized object type, set to "product"'
18:54:12.979 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.979 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.active IS 'The active status for the product, true or false.'
18:54:12.979 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.979 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.amount IS 'The cost amount for the product, in pence of the currency'
18:54:12.979 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.979 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.name IS 'The product name.'
18:54:12.979 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.979 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.caption IS 'The product caption, used for display.'
18:54:12.979 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.979 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.currency IS 'The product currency as a 3-letter ISO currency code.'
18:54:12.979 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.979 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.description IS 'The product general description.'
18:54:12.979 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.979 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.interval IS 'The product payment interval (day, week, month, year).'
18:54:12.979 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.979 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.created IS 'The product creation date.'
18:54:12.980 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.980 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.statementDescriptor IS 'The product statement descriptor used on charge statements.'
18:54:12.980 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.980 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.type IS 'The product type, either service or good.'
18:54:12.980 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.980 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.unitLabel IS 'The product unit label.'
18:54:12.980 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.980 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.url IS 'The product URL used for more information.'
18:54:12.980 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.980 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.metadata IS 'The product metadata JSON object, currently a feature list.'
18:54:12.980 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.980 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.4 - Create Products Table
18:54:12.981 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:12.982 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.5 - Insert Standard Products
18:54:12.982 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Individual Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    32000,
    'Faculty or research lab',
    now(),
    'USD',
    'Create a customized portal for your work and projects. Help others understand and access your data.',
    'year',
    'Individual',
    'DataONE Membership Plan - Individual',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "1","hardLimit": "1","totalUsage": "0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:12.983 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:12.983 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Small Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    200000,
    'Small institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Small Organization',
    'DataONE Membership Plan - Small Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "5","hardLimit": "5","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:12.983 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:12.983 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Medium Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    600000,
    'Medium institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Medium Organization',
    'DataONE Membership Plan - Medium Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "15","hardLimit": "15","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:12.983 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:12.983 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Large Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    2800000,
    'Large institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Large Organization',
    'DataONE Membership Plan - Large Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "branded_portal","softLimit": "50","hardLimit": "50","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:12.984 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:12.984 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- Hosted Repository
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    'true',
    1200000,
    'A dedicated repository solution for your group or institution’s data, managed by DataONE',
    now(),
    'USD',
    'Bring the products of your research lab, field station, or library together in a centralized location for efficient sharing, access, and reuse. Accelerate research activity, foster new collaborations, and build community with a repository that meets your needs and reflects your brand.',
    'year',
    'DataONE Hosted Repository',
    'DataONE Hosted Repository',
    'service',
    'repository',
    'https://products.dataone.org/hostedrepo',
    '{"features": [{"name": "trusted_data_repository","label": "A Trusted Data Repository","description": "Preserve and share your data, software, and derived products in a dedicated repository system. Built on our robust and expertly managed repository software and hardware, your research products are safely inactive and easily accessible."},{"name": "individual_fair_Assessments","label": "Individual FAIR Assessments","description": "Evaluate your metadata with community established FAIR principles. Scores are refreshed with updates to your metadata, helping make your data even more Findable, Accessible, Interoperable, and Reusable."},{"name": "powerful_online_submission","label": "Powerful Online Submission","description": "The user friendly data submission tool helps your researchers efficiently upload and describe their data. Users can easily create detailed metadata to enhance interoperability, reusability, and value of data."},{"name": "comprehensive_search","label": "Comprehensive Search","description": "Quickly find data with detailed search filters, or by navigating the interactive map."},{"name": "usage_metrics","label": "Usage Metrics","description": "Understand how your data are being used over time with view, download, and citation metrics."},{"name": "usage_metrics","label": "Usage Metrics","description": "Understand how your data are being used over time with view, download, and citation metrics."},{"name": "expandable_storage","label": "Expandable Storage","description": "Grow your repository capacity based on your storage needs in 1 TB increments.","quota": {"object": "quota","quotaType": "repository_storage","softLimit": 1048576,"hardLimit": 1153434,"totalUsage": 0,"unit": "portal"}},{"name": "geographic_replicas","label": "Geographic Replicas","description": "Your data are replicated to distinct geographic regions for high availability and preservation."},{"name": "api_access","label": "API Access","description": "Programmatically work with your repository through the DataONE tools in R, Python, Matlab, and Java."},{"name": "link_data_and_software","label": "Link data and Software","description": "Easily show how your files relate to each other by providing well-described provenance workflows."},{"name": "private_and_public_access","label": "Private and Public Access","description": "Control access to your datasets\nprior to publication with private groups or just yourself."},{"name": "private_and_public_access","label": "Private and Public Access","description": "Control access to your datasets\nprior to publication with private groups or just yourself."},{"name": "any_file_format","label": "Any File Format","description": "Use the scientific file formats for your community: image, tabular, text, audio, video, and others."},{"name": "share_when_ready","label": "Share When Ready","description": "Keep your dataset private while you document it thoroughly, and then make it public when you are ready."}]}'
)
18:54:12.985 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:12.985 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- Archival Storage
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    'true',
    126000,
    'Additional High Availability Data Storage',
    now(),
    'USD',
    'Increase the available storage in your dedicated hosted repository in 1 TB increments.',
    'year',
    'Additional Data Storage',
    'Additional Data Storage',
    'service',
    'storage',
    'https://products.dataone.org/hostedrepo',
    '{}'
)
18:54:12.985 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:12.985 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.5 - Insert Standard Products
18:54:12.986 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:12.986 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.6 - Create Orders Table
18:54:12.987 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the orders table
CREATE SEQUENCE orders_id_seq
18:54:12.987 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.987 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS orders (
    id integer DEFAULT nextval('orders_id_seq') PRIMARY KEY,
    object text NOT NULL,
    amount integer,
    amountReturned integer,
    charge json,
    created timestamp with time zone,
    currency text,
    customer integer,
    subject text,
    email text,
    items json,
    metadata json,
    name text,
    status text,
    statusTransitions json,
    updated timestamp with time zone,
    seriesId text,
    startDate timestamp with time zone,
    endDate timestamp with time zone
)
18:54:12.989 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.989 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX orders_customer_idx ON orders USING btree(customer)
18:54:12.989 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.989 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX orders_subject_idx ON orders USING btree(subject)
18:54:12.989 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.989 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX orders_email_idx ON orders USING btree(email)
18:54:12.990 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.990 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX orders_status_idx ON orders USING btree(status)
18:54:12.990 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.990 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE  orders IS 'Orders of products by customers.'
18:54:12.990 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.990 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.id IS 'The unique order identifier.'
18:54:12.990 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.990 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.object IS 'The serialized object type, set to "order".'
18:54:12.990 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.990 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.amount IS 'The order amount in the smallest unit of the currency.'
18:54:12.990 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.990 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.amountReturned IS 'The order amount returned in the smallest unit of the currency.'
18:54:12.990 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.990 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.charge IS 'The order transaction charge JSON object.'
18:54:12.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.created IS 'The order creation date.'
18:54:12.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.currency IS 'The order currency code.'
18:54:12.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.customer IS 'The order customer identifier.'
18:54:12.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.subject IS 'The order user or group subject identifier.'
18:54:12.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.email IS 'The order customer email.'
18:54:12.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.items IS 'The order items list JSON object.'
18:54:12.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.metadata IS 'The order metadata JSON object.'
18:54:12.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.name IS 'The order name set by the customer.'
18:54:12.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.status IS 'The order status (created, paid, canceled, fulfilled, returned.'
18:54:12.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.statusTransitions IS 'The order status/date transitions JSON object'
18:54:12.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.updated IS 'The order update date.'
18:54:12.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.seriesId IS 'The order series identifier to track renewals.'
18:54:12.991 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.992 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.startDate IS 'The order services start date.'
18:54:12.992 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.992 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.endDate IS 'The order services end date.'
18:54:12.992 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.992 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.6 - Create Orders Table
18:54:12.992 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:12.993 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.7 - Alter Quotas Add Order FK
18:54:12.994 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Add the order id foreign key constraint
ALTER TABLE quotas
    ADD CONSTRAINT quotas_order_id_fk
    FOREIGN KEY (orderId) REFERENCES orders (id) ON DELETE CASCADE
18:54:12.995 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.995 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.7 - Alter Quotas Add Order FK
18:54:12.996 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:12.996 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.8 - Alter Orders Add Customer FK
18:54:12.997 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Add the customer id foreign key constraint
ALTER TABLE orders
    ADD CONSTRAINT orders_customer_id_fk
    FOREIGN KEY (customer) REFERENCES customers (id) ON DELETE CASCADE
18:54:12.998 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:12.998 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.8 - Alter Orders Add Customer FK
18:54:12.998 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:12.999 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.9 - Create Usages Table
18:54:12.999 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the usages table
CREATE SEQUENCE IF NOT EXISTS usages_id_seq
18:54:13.000 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:13.000 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS usages (
    id integer DEFAULT nextval('usages_id_seq') PRIMARY KEY,
    object text NOT NULL,
    quotaId integer NOT NULL,
    instanceId text NOT NULL,
    quantity double precision NOT NULL,
    status text,
    nodeId text NOT NULL
)
18:54:13.001 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:13.001 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER SEQUENCE usages_id_seq OWNED BY usages.id
18:54:13.001 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:13.001 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX usages_quotaId_idx ON usages USING btree(quotaId)
18:54:13.002 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:13.002 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX usages_instanceId_idx ON usages USING btree(instanceId)
18:54:13.002 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:13.002 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER TABLE usages
    ADD CONSTRAINT usages_quotas_id_fk
    FOREIGN KEY (quotaId) REFERENCES quotas (id) ON DELETE CASCADE
18:54:13.003 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:13.003 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE  usages IS 'Usages records each instance a portion of a quota is used.'
18:54:13.003 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:13.003 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.id IS 'The unique usage identifier.'
18:54:13.003 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:13.003 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.object IS 'The serialized object type, set to "usage".'
18:54:13.003 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:13.003 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.quotaId IS 'The quota identifier.'
18:54:13.003 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:13.003 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.instanceId IS 'The instance identifier using a portion of the quota.'
18:54:13.003 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:13.003 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.quantity IS 'The quantity used by the instance, in the quota units.'
18:54:13.003 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:13.003 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.status IS 'The status of the usage, active or inactive.'
18:54:13.003 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:13.003 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.nodeId IS 'The quota node identifier".'
18:54:13.003 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:13.003 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.9 - Create Usages Table
18:54:13.004 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:13.005 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.10 - Create Function Update Quota Table Usage
18:54:13.005 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the update quota usage function for inserts and updates
CREATE OR REPLACE FUNCTION update_quota_usage_on_insert_or_update()
    RETURNS trigger
    AS $update_quota_usage_on_insert_or_update$
    BEGIN
        -- Check that quotaId is given
        IF NEW.quotaId IS NULL THEN
            RAISE EXCEPTION 'quotaId cannot be null';
        END IF;

        -- Update the quotas.totalUsage column
        UPDATE quotas q
            SET totalUsage = (SELECT SUM(u.quantity) FROM usages u WHERE u.status != 'inactive' AND u.quotaId = NEW.quotaId)
                WHERE q.id = NEW.quotaId;
        RETURN NEW;
    END;
    $update_quota_usage_on_insert_or_update$
    LANGUAGE plpgsql
18:54:13.007 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:13.007 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the update quota totalUsage trigger
DROP TRIGGER IF EXISTS update_quotas_usage_on_insert_or_update ON usages
18:54:13.007 [main] INFO org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - DB: trigger "update_quotas_usage_on_insert_or_update" for relation "usages" does not exist, skipping
18:54:13.007 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:13.007 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TRIGGER update_quotas_usage_on_insert_or_update AFTER INSERT OR UPDATE ON usages
    FOR EACH ROW
        EXECUTE PROCEDURE update_quota_usage_on_insert_or_update()
18:54:13.007 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:13.007 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the update quota totalUsage function for deletes
CREATE OR REPLACE FUNCTION update_quota_usage_on_delete()
    RETURNS trigger
    AS $update_quota_usage_on_delete$
    BEGIN
        -- Check that quotaId is given
        IF OLD.quotaId IS NULL THEN
            RAISE EXCEPTION 'quotaId cannot be null';
        END IF;

        -- Update the quotas.usage column
        UPDATE quotas q
            SET totalUsage = (SELECT SUM(u.quantity) FROM usages u WHERE u.status != 'inactive' AND u.quotaId = OLD.quotaId)
                WHERE q.id = OLD.quotaId;
        RETURN OLD;
    END;
    $update_quota_usage_on_delete$
    LANGUAGE plpgsql
18:54:13.007 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:13.007 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the update quota totalUsage trigger
DROP TRIGGER IF EXISTS update_quotas_usage_on_delete ON usages
18:54:13.008 [main] INFO org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - DB: trigger "update_quotas_usage_on_delete" for relation "usages" does not exist, skipping
18:54:13.008 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:13.008 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TRIGGER update_quotas_usage_on_delete AFTER DELETE ON usages
    FOR EACH ROW
        EXECUTE PROCEDURE update_quota_usage_on_delete()
18:54:13.008 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:13.008 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.10 - Create Function Update Quota Table Usage
18:54:13.008 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:13.009 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.11 - Alter Usages Add Unique Constraint
18:54:13.009 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Add a unique constraint to the usage table for the 'quotaid' + 'instanceid' columns
CREATE UNIQUE INDEX usages_quotaid_instanceid_idx
    ON usages USING btree(quotaid,instanceid)
18:54:13.010 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:13.010 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.11 - Alter Usages Add Unique Constraint
18:54:13.010 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:13.011 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.12 - Alter Quotas Add Unique Constraint OrderId QuotaType
18:54:13.012 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Add a unique constraint to the quotas table for the orderId and quotaType columns
CREATE UNIQUE INDEX quotas_order_id_quota_type_idx
    ON quotas USING btree(orderId, quotaType)
18:54:13.012 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:13.012 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.12 - Alter Quotas Add Unique Constraint OrderId QuotaType
18:54:13.013 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:13.014 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Successfully applied 13 migrations to schema "public" (execution time 00:00.064s)
18:54:13.014 [main] DEBUG org.flywaydb.core.Flyway - Memory usage: 255 of 357M
18:54:13.018 [main] DEBUG org.hibernate.validator.internal.engine.resolver.TraversableResolvers - Cannot find javax.persistence.Persistence on classpath. Assuming non JPA 2 environment. All properties will per default be traversable.
18:54:13.018 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Adding value extractor io.dropwizard.validation.valuehandling.GuavaOptionalValueExtractor@297ea53a
18:54:13.018 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Setting custom ConstraintValidatorFactory of type io.dropwizard.jersey.validation.MutableValidatorFactory
18:54:13.018 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Setting custom ParameterNameProvider of type io.dropwizard.jersey.validation.JerseyParameterNameProvider
18:54:13.018 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Adding value extractor io.dropwizard.jersey.validation.NonEmptyStringParamValueExtractor@3a320ade
18:54:13.018 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Adding value extractor io.dropwizard.jersey.validation.ParamValueExtractor@21005f6c
18:54:13.019 [main] DEBUG org.hibernate.validator.internal.xml.config.ValidationXmlParser - Trying to load META-INF/validation.xml for XML based Validator configuration.
18:54:13.019 [main] DEBUG org.hibernate.validator.internal.xml.config.ResourceLoaderHelper - Trying to load META-INF/validation.xml via TCCL
18:54:13.019 [main] DEBUG org.hibernate.validator.internal.xml.config.ResourceLoaderHelper - Trying to load META-INF/validation.xml via Hibernate Validator's class loader
18:54:13.019 [main] DEBUG org.hibernate.validator.internal.xml.config.ValidationXmlParser - No META-INF/validation.xml found. Using annotation based configuration only.
18:54:13.019 [main] DEBUG org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator - Loaded expression factory via original TCCL
18:54:13.023 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000252: Using org.hibernate.validator.internal.engine.DefaultPropertyNodeNameProvider as property node name provider.
18:54:13.023 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator as ValidatorFactory-scoped message interpolator.
18:54:13.023 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.internal.engine.resolver.TraverseAllTraversableResolver as ValidatorFactory-scoped traversable resolver.
18:54:13.023 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.internal.util.ExecutableParameterNameProvider as ValidatorFactory-scoped parameter name provider.
18:54:13.023 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.internal.engine.DefaultClockProvider as ValidatorFactory-scoped clock provider.
18:54:13.023 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.internal.engine.scripting.DefaultScriptEvaluatorFactory as ValidatorFactory-scoped script evaluator factory.
18:54:13.024 [main] DEBUG org.eclipse.jetty.util.DecoratedObjectFactory - Adding Decorator: org.eclipse.jetty.util.DeprecationWarning@78c74647
18:54:13.024 [main] DEBUG org.eclipse.jetty.util.component.ContainerLifeCycle - i.d.j.MutableServletContextHandler@39652a30{/,null,UNAVAILABLE} added {ServletHandler@5763a655{STOPPED},MANAGED}
18:54:13.024 [main] DEBUG org.eclipse.jetty.util.DecoratedObjectFactory - Adding Decorator: org.eclipse.jetty.util.DeprecationWarning@40c8067
18:54:13.025 [main] DEBUG org.eclipse.jetty.util.component.ContainerLifeCycle - i.d.j.MutableServletContextHandler@46bb0bdf{/,null,UNAVAILABLE} added {ServletHandler@561f9d92{STOPPED},MANAGED}
18:54:13.215 [log:pid(19864)] INFO pg-fad81693-c897-4a3d-a680-36fcbe7b391b - 2020-10-28 18:54:13.215 UTC [19880] ERROR:  duplicate key value violates unique constraint "usages_quotaid_instanceid_idx"
18:54:13.426 [main] DEBUG org.flywaydb.core.Flyway - DDL Transactions Supported: true
18:54:13.427 [main] DEBUG org.flywaydb.core.Flyway - Schema: public
18:54:13.427 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning for classpath resources at 'classpath:db/migrations' ...
18:54:13.427 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Determining location urls for classpath:db/migrations using ClassLoader sun.misc.Launcher$AppClassLoader@7f31245a ...
18:54:13.427 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning URL: file:/var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/db/migrations
18:54:13.427 [main] DEBUG org.flywaydb.core.internal.util.FeatureDetector - JBoss VFS v2 available: false
18:54:13.427 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.FileSystemClassPathLocationScanner - Scanning starting at classpath root in filesystem: /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/
18:54:13.427 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.FileSystemClassPathLocationScanner - Scanning for resources in path: /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/db/migrations (db/migrations)
18:54:13.427 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.0__Create_Bookkeeper_Database.sql
18:54:13.427 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.10__Create_Function_Update_Quota_Table_Usage.sql
18:54:13.427 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.11__Alter_Usages_Add_Unique_Constraint.sql
18:54:13.427 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql
18:54:13.427 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.1__Create_Quotas_Table.sql
18:54:13.427 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.2__Insert_Standard_Quotas.sql
18:54:13.427 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.3__Create_Customers_Table.sql
18:54:13.427 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.4__Create_Products_Table.sql
18:54:13.427 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.5__Insert_Standard_Products.sql
18:54:13.427 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.6__Create_Orders_Table.sql
18:54:13.427 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.7__Alter_Quotas_Add_Order_FK.sql
18:54:13.427 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.8__Alter_Orders_Add_Customer_FK.sql
18:54:13.427 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.9__Create_Usages_Table.sql
18:54:13.427 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning for classes at classpath:db/migrations
18:54:13.427 [main] DEBUG org.flywaydb.core.internal.callback.SqlScriptCallbackFactory - Scanning for SQL callbacks ...
18:54:13.428 [main] DEBUG org.flywaydb.core.internal.util.FeatureDetector - Spring Jdbc available: false
18:54:13.431 [main] DEBUG org.flywaydb.core.internal.command.DbClean - Cleaning schema "public" ...
18:54:13.452 [main] INFO org.flywaydb.core.internal.command.DbClean - Successfully cleaned schema "public" (execution time 00:00.020s)
18:54:13.452 [main] DEBUG org.flywaydb.core.Flyway - Memory usage: 221 of 430M
18:54:13.554 [log:pid(19882)] INFO init-fad81693-c897-4a3d-a680-36fcbe7b391b:pg_ctl - waiting for server to shut down.... done
18:54:13.555 [log:pid(19882)] INFO init-fad81693-c897-4a3d-a680-36fcbe7b391b:pg_ctl - server stopped
18:54:13.555 [main] INFO com.opentable.db.postgres.embedded.EmbeddedPostgres - fad81693-c897-4a3d-a680-36fcbe7b391b shut down postmaster in 00:00:00.102
[INFO] Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.462 s - in org.dataone.bookkeeper.jdbi.UsageStoreTest
[INFO] Running org.dataone.bookkeeper.jdbi.CustomerStoreTest
18:54:14.342 [log:pid(19886)] INFO init-8a50e044-eaf1-4b57-8e66-1cbf44d08138:initdb - The files belonging to this database system will be owned by user "jenkins".
18:54:14.342 [log:pid(19886)] INFO init-8a50e044-eaf1-4b57-8e66-1cbf44d08138:initdb - This user must also own the server process.
18:54:14.342 [log:pid(19886)] INFO init-8a50e044-eaf1-4b57-8e66-1cbf44d08138:initdb - 
18:54:14.342 [log:pid(19886)] INFO init-8a50e044-eaf1-4b57-8e66-1cbf44d08138:initdb - The database cluster will be initialized with locale "en_US.UTF-8".
18:54:14.342 [log:pid(19886)] INFO init-8a50e044-eaf1-4b57-8e66-1cbf44d08138:initdb - The default text search configuration will be set to "english".
18:54:14.342 [log:pid(19886)] INFO init-8a50e044-eaf1-4b57-8e66-1cbf44d08138:initdb - 
18:54:14.342 [log:pid(19886)] INFO init-8a50e044-eaf1-4b57-8e66-1cbf44d08138:initdb - Data page checksums are disabled.
18:54:14.342 [log:pid(19886)] INFO init-8a50e044-eaf1-4b57-8e66-1cbf44d08138:initdb - 
18:54:14.342 [log:pid(19886)] INFO init-8a50e044-eaf1-4b57-8e66-1cbf44d08138:initdb - fixing permissions on existing directory /tmp/epg6717147816198577828 ... ok
18:54:14.343 [log:pid(19886)] INFO init-8a50e044-eaf1-4b57-8e66-1cbf44d08138:initdb - creating subdirectories ... ok
18:54:14.356 [log:pid(19886)] INFO init-8a50e044-eaf1-4b57-8e66-1cbf44d08138:initdb - selecting default max_connections ... 100
18:54:14.375 [log:pid(19886)] INFO init-8a50e044-eaf1-4b57-8e66-1cbf44d08138:initdb - selecting default shared_buffers ... 128MB
18:54:14.375 [log:pid(19886)] INFO init-8a50e044-eaf1-4b57-8e66-1cbf44d08138:initdb - selecting dynamic shared memory implementation ... posix
18:54:14.446 [log:pid(19886)] INFO init-8a50e044-eaf1-4b57-8e66-1cbf44d08138:initdb - creating configuration files ... ok
18:54:14.611 [log:pid(19886)] INFO init-8a50e044-eaf1-4b57-8e66-1cbf44d08138:initdb - running bootstrap script ... ok
18:54:15.037 [log:pid(19886)] INFO init-8a50e044-eaf1-4b57-8e66-1cbf44d08138:initdb - performing post-bootstrap initialization ... ok
18:54:15.255 [log:pid(19886)] INFO init-8a50e044-eaf1-4b57-8e66-1cbf44d08138:initdb - syncing data to disk ... ok
18:54:15.255 [log:pid(19886)] INFO init-8a50e044-eaf1-4b57-8e66-1cbf44d08138:initdb - 
18:54:15.255 [log:pid(19886)] INFO init-8a50e044-eaf1-4b57-8e66-1cbf44d08138:initdb - Success. You can now start the database server using:
18:54:15.255 [log:pid(19886)] INFO init-8a50e044-eaf1-4b57-8e66-1cbf44d08138:initdb - 
18:54:15.255 [log:pid(19886)] INFO init-8a50e044-eaf1-4b57-8e66-1cbf44d08138:initdb -     /tmp/embedded-pg/PG-06e3a92a2edb6ddd6dbdf5602d0252ca/bin/pg_ctl -D /tmp/epg6717147816198577828 -l logfile start
18:54:15.255 [log:pid(19886)] INFO init-8a50e044-eaf1-4b57-8e66-1cbf44d08138:initdb - 
18:54:15.258 [main] INFO com.opentable.db.postgres.embedded.EmbeddedPostgres - 8a50e044-eaf1-4b57-8e66-1cbf44d08138 initdb completed in 00:00:00.926
18:54:15.261 [main] INFO com.opentable.db.postgres.embedded.EmbeddedPostgres - 8a50e044-eaf1-4b57-8e66-1cbf44d08138 postmaster started as java.lang.UNIXProcess@3a4f8e8a on port 5432.  Waiting up to PT10S for server startup to finish.
18:54:15.271 [log:pid(19902)] INFO pg-8a50e044-eaf1-4b57-8e66-1cbf44d08138 - waiting for server to start....2020-10-28 18:54:15.271 UTC [19906] LOG:  listening on IPv6 address "::1", port 5432
18:54:15.272 [log:pid(19902)] INFO pg-8a50e044-eaf1-4b57-8e66-1cbf44d08138 - 2020-10-28 18:54:15.271 UTC [19906] LOG:  listening on IPv4 address "127.0.0.1", port 5432
18:54:15.272 [log:pid(19902)] INFO pg-8a50e044-eaf1-4b57-8e66-1cbf44d08138 - 2020-10-28 18:54:15.272 UTC [19906] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
18:54:15.308 [log:pid(19902)] INFO pg-8a50e044-eaf1-4b57-8e66-1cbf44d08138 - 2020-10-28 18:54:15.308 UTC [19907] LOG:  database system was shut down at 2020-10-28 18:54:15 UTC
18:54:15.312 [log:pid(19902)] INFO pg-8a50e044-eaf1-4b57-8e66-1cbf44d08138 - 2020-10-28 18:54:15.312 UTC [19906] LOG:  database system is ready to accept connections
18:54:15.362 [log:pid(19902)] INFO pg-8a50e044-eaf1-4b57-8e66-1cbf44d08138 - 2020-10-28 18:54:15.362 UTC [19914] LOG:  incomplete startup packet
18:54:15.366 [log:pid(19902)] INFO pg-8a50e044-eaf1-4b57-8e66-1cbf44d08138 -  done
18:54:15.366 [log:pid(19902)] INFO pg-8a50e044-eaf1-4b57-8e66-1cbf44d08138 - server started
18:54:15.369 [main] INFO com.opentable.db.postgres.embedded.EmbeddedPostgres - 8a50e044-eaf1-4b57-8e66-1cbf44d08138 postmaster startup finished in 00:00:00.110
18:54:15.378 [main] INFO org.flywaydb.core.internal.database.DatabaseFactory - Database: jdbc:postgresql://localhost:5432/postgres (PostgreSQL 10.6)
18:54:15.378 [main] DEBUG org.flywaydb.core.internal.database.DatabaseFactory - Driver  : PostgreSQL JDBC Driver 42.2.6
18:54:15.379 [main] DEBUG org.flywaydb.core.Flyway - DDL Transactions Supported: true
18:54:15.379 [main] DEBUG org.flywaydb.core.Flyway - Schema: public
18:54:15.379 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning for classpath resources at 'classpath:db/migrations' ...
18:54:15.379 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Determining location urls for classpath:db/migrations using ClassLoader sun.misc.Launcher$AppClassLoader@7f31245a ...
18:54:15.380 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning URL: file:/var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/db/migrations
18:54:15.380 [main] DEBUG org.flywaydb.core.internal.util.FeatureDetector - JBoss VFS v2 available: false
18:54:15.380 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.FileSystemClassPathLocationScanner - Scanning starting at classpath root in filesystem: /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/
18:54:15.380 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.FileSystemClassPathLocationScanner - Scanning for resources in path: /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/db/migrations (db/migrations)
18:54:15.380 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.0__Create_Bookkeeper_Database.sql
18:54:15.380 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.10__Create_Function_Update_Quota_Table_Usage.sql
18:54:15.380 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.11__Alter_Usages_Add_Unique_Constraint.sql
18:54:15.380 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql
18:54:15.380 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.1__Create_Quotas_Table.sql
18:54:15.380 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.2__Insert_Standard_Quotas.sql
18:54:15.380 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.3__Create_Customers_Table.sql
18:54:15.380 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.4__Create_Products_Table.sql
18:54:15.380 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.5__Insert_Standard_Products.sql
18:54:15.380 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.6__Create_Orders_Table.sql
18:54:15.380 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.7__Alter_Quotas_Add_Order_FK.sql
18:54:15.380 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.8__Alter_Orders_Add_Customer_FK.sql
18:54:15.380 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.9__Create_Usages_Table.sql
18:54:15.380 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning for classes at classpath:db/migrations
18:54:15.381 [main] DEBUG org.flywaydb.core.internal.callback.SqlScriptCallbackFactory - Scanning for SQL callbacks ...
18:54:15.381 [main] DEBUG org.flywaydb.core.internal.util.FeatureDetector - Spring Jdbc available: false
18:54:15.384 [main] DEBUG org.flywaydb.core.internal.command.DbValidate - Validating migrations ...
18:54:15.384 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.0__Create_Bookkeeper_Database.sql ...
18:54:15.384 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.10__Create_Function_Update_Quota_Table_Usage.sql ...
18:54:15.385 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the update quota usage function for inserts and updates
CREATE OR REPLACE FUNCTION update_quota_usage_on_insert_or_update()
    RETURNS trigger
    AS $update_quota_usage_on_insert_or_update$
    BEGIN
        -- Check that quotaId is given
        IF NEW.quotaId IS NULL THEN
            RAISE EXCEPTION 'quotaId cannot be null';
        END IF;

        -- Update the quotas.totalUsage column
        UPDATE quotas q
            SET totalUsage = (SELECT SUM(u.quantity) FROM usages u WHERE u.status != 'inactive' AND u.quotaId = NEW.quotaId)
                WHERE q.id = NEW.quotaId;
        RETURN NEW;
    END;
    $update_quota_usage_on_insert_or_update$
    LANGUAGE plpgsql
18:54:15.385 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 23: --- Create the update quota totalUsage trigger
DROP TRIGGER IF EXISTS update_quotas_usage_on_insert_or_update ON usages
18:54:15.385 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 25: CREATE TRIGGER update_quotas_usage_on_insert_or_update AFTER INSERT OR UPDATE ON usages
    FOR EACH ROW
        EXECUTE PROCEDURE update_quota_usage_on_insert_or_update()
18:54:15.385 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: --- Create the update quota totalUsage function for deletes
CREATE OR REPLACE FUNCTION update_quota_usage_on_delete()
    RETURNS trigger
    AS $update_quota_usage_on_delete$
    BEGIN
        -- Check that quotaId is given
        IF OLD.quotaId IS NULL THEN
            RAISE EXCEPTION 'quotaId cannot be null';
        END IF;

        -- Update the quotas.usage column
        UPDATE quotas q
            SET totalUsage = (SELECT SUM(u.quantity) FROM usages u WHERE u.status != 'inactive' AND u.quotaId = OLD.quotaId)
                WHERE q.id = OLD.quotaId;
        RETURN OLD;
    END;
    $update_quota_usage_on_delete$
    LANGUAGE plpgsql
18:54:15.385 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 48: --- Create the update quota totalUsage trigger
DROP TRIGGER IF EXISTS update_quotas_usage_on_delete ON usages
18:54:15.386 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 50: CREATE TRIGGER update_quotas_usage_on_delete AFTER DELETE ON usages
    FOR EACH ROW
        EXECUTE PROCEDURE update_quota_usage_on_delete()
18:54:15.386 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.11__Alter_Usages_Add_Unique_Constraint.sql ...
18:54:15.386 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Add a unique constraint to the usage table for the 'quotaid' + 'instanceid' columns
CREATE UNIQUE INDEX usages_quotaid_instanceid_idx
    ON usages USING btree(quotaid,instanceid)
18:54:15.387 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql ...
18:54:15.387 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Add a unique constraint to the quotas table for the orderId and quotaType columns
CREATE UNIQUE INDEX quotas_order_id_quota_type_idx
    ON quotas USING btree(orderId, quotaType)
18:54:15.387 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.1__Create_Quotas_Table.sql ...
18:54:15.387 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the quotas table
CREATE SEQUENCE IF NOT EXISTS quotas_id_seq
18:54:15.388 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS quotas (
    id integer DEFAULT nextval('quotas_id_seq') PRIMARY KEY,
    object text NOT NULL,
    quotaType text NOT NULL,
    softLimit double precision NOT NULL,
    hardLimit double precision NOT NULL,
    totalUsage double precision,
    unit text NOT NULL,
    orderId integer,
    subject text,
    name text
)
18:54:15.388 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 19: ALTER SEQUENCE quotas_id_seq OWNED BY quotas.id
18:54:15.388 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 21: CREATE INDEX quotas_quotaType_idx ON quotas USING btree(quotaType)
18:54:15.388 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 22: CREATE INDEX quotas_orderId_idx ON quotas USING btree(orderId)
18:54:15.388 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 23: CREATE INDEX quotas_subject_idx ON quotas USING btree(subject)
18:54:15.388 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 25: COMMENT ON TABLE quotas IS 'Quotas limiting resources for products per customer. Quotas may be associated with products or customers by their ids.'
18:54:15.388 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 26: COMMENT ON COLUMN quotas.id IS 'The unique quota identifier'
18:54:15.388 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 27: COMMENT ON COLUMN quotas.object IS 'The serialized object type, set to "quota"'
18:54:15.388 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 28: COMMENT ON COLUMN quotas.quotaType IS 'The quota type'
18:54:15.388 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: COMMENT ON COLUMN quotas.softLimit IS 'The soft limit of the resource.'
18:54:15.388 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 30: COMMENT ON COLUMN quotas.hardLimit IS 'The hard limit of the resource.'
18:54:15.388 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: COMMENT ON COLUMN quotas.totalUsage IS 'The current observed total usage of the quota.'
18:54:15.388 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: COMMENT ON COLUMN quotas.unit IS 'The named unit of the quota.'
18:54:15.388 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 33: COMMENT ON COLUMN quotas.orderId IS 'The order id to which the quota is applied.'
18:54:15.388 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 34: COMMENT ON COLUMN quotas.subject IS 'The subject identifier to which the quota is applied.'
18:54:15.388 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 35: COMMENT ON COLUMN quotas.name IS 'The quota name, copied from the order name.'
18:54:15.389 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.2__Insert_Standard_Quotas.sql ...
18:54:15.389 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 3: -- 1GB base storage limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'storage', 1073741824.0, 1181116006.4, NULL, 'byte', NULL, NULL)
18:54:15.389 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: -- 1TB base hosted repository storage limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'repository_storage', 1099511627776.0, 1209462790553.6, NULL, 'byte', NULL,
    NULL)
18:54:15.389 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 12: -- Single base branded portal limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'portal', 1.0, 1.0, NULL, 'portal', NULL, NULL)
18:54:15.390 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.3__Create_Customers_Table.sql ...
18:54:15.390 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the customers table
CREATE SEQUENCE customers_id_seq
18:54:15.390 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS customers (
    id integer DEFAULT nextval('customers_id_seq') PRIMARY KEY,
    object text NOT NULL,
    subject text NOT NULL,
    balance integer,
    address json,
    created timestamp with time zone,
    currency text,
    delinquent boolean,
    description text,
    discount json,
    email text,
    invoicePrefix text,
    invoiceSettings json,
    metadata json,
    givenName text,
    surName text,
    phone text
)
18:54:15.390 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 26: ALTER SEQUENCE customers_id_seq OWNED BY customers.id
18:54:15.390 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 27: CREATE INDEX customers_subject_idx ON customers USING btree(subject)
18:54:15.390 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 28: CREATE INDEX customers_email_idx ON customers USING btree(email)
18:54:15.390 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 30: COMMENT ON TABLE customers IS 'Customers that have ordered products and have quotas.'
18:54:15.390 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: COMMENT ON COLUMN customers.id IS 'The unique customer identifier.'
18:54:15.391 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: COMMENT ON COLUMN customers.object IS 'The serialized object type, set to "customer".'
18:54:15.391 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 33: COMMENT ON COLUMN customers.subject IS 'The unique customer Subject identifier.'
18:54:15.391 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 34: COMMENT ON COLUMN customers.balance IS 'The customer balance, in the smallest unit of the currency (i.e. USD cents).'
18:54:15.391 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 35: COMMENT ON COLUMN customers.address IS 'The customer address, stored as a JSON address object.'
18:54:15.391 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 36: COMMENT ON COLUMN customers.created IS 'The customer creation date.'
18:54:15.391 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 37: COMMENT ON COLUMN customers.currency IS 'The customer currency, defaults to "USD".'
18:54:15.391 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 38: COMMENT ON COLUMN customers.delinquent IS 'The customer delinquency status, true or false'
18:54:15.391 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 39: COMMENT ON COLUMN customers.description IS 'The customer description'
18:54:15.391 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 40: COMMENT ON COLUMN customers.discount IS 'The customer discount, stored as a JSON Discount object.'
18:54:15.391 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 41: COMMENT ON COLUMN customers.email IS 'The customer email address.'
18:54:15.391 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 42: COMMENT ON COLUMN customers.invoicePrefix IS 'The customer invoice prefix'
18:54:15.391 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 43: COMMENT ON COLUMN customers.invoiceSettings IS 'The customer settings, stored as a JSON InvoiceSettings object'
18:54:15.391 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 44: COMMENT ON COLUMN customers.metadata IS 'The customer metadata, stored as a JSON object (undefined as of yet)'
18:54:15.391 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 45: COMMENT ON COLUMN customers.givenName IS 'The customer given name'
18:54:15.391 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 46: COMMENT ON COLUMN customers.surName IS 'The customer surname'
18:54:15.391 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 47: COMMENT ON COLUMN customers.phone IS 'The customer phone'
18:54:15.392 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.4__Create_Products_Table.sql ...
18:54:15.392 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the products table
CREATE SEQUENCE products_id_seq
18:54:15.392 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS products (
    id integer DEFAULT nextval('products_id_seq') PRIMARY KEY,
    object text NOT NULL,
    active boolean,
    amount integer NOT NULL,
    name text,
    caption text,
    currency text NOT NULL,
    description text,
    interval text NOT NULL,
    created timestamp with time zone,
    statementDescriptor text,
    type text,
    unitLabel text,
    url text,
    metadata json
)
18:54:15.393 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 24: ALTER SEQUENCE products_id_seq OWNED BY products.id
18:54:15.393 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 26: CREATE INDEX products_active_idx ON products USING btree(active)
18:54:15.393 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 27: CREATE INDEX products_name_idx ON products USING btree(name)
18:54:15.393 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 28: CREATE INDEX products_caption_idx ON products USING btree(caption)
18:54:15.393 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: CREATE INDEX products_description_idx ON products USING btree(description)
18:54:15.393 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: COMMENT ON TABLE  products IS 'Products that are offered as services.'
18:54:15.393 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: COMMENT ON COLUMN products.id IS 'The unique product identifier'
18:54:15.393 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 33: COMMENT ON COLUMN products.object IS 'The serialized object type, set to "product"'
18:54:15.393 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 34: COMMENT ON COLUMN products.active IS 'The active status for the product, true or false.'
18:54:15.393 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 35: COMMENT ON COLUMN products.amount IS 'The cost amount for the product, in pence of the currency'
18:54:15.393 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 36: COMMENT ON COLUMN products.name IS 'The product name.'
18:54:15.393 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 37: COMMENT ON COLUMN products.caption IS 'The product caption, used for display.'
18:54:15.393 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 38: COMMENT ON COLUMN products.currency IS 'The product currency as a 3-letter ISO currency code.'
18:54:15.393 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 39: COMMENT ON COLUMN products.description IS 'The product general description.'
18:54:15.393 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 40: COMMENT ON COLUMN products.interval IS 'The product payment interval (day, week, month, year).'
18:54:15.393 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 41: COMMENT ON COLUMN products.created IS 'The product creation date.'
18:54:15.393 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 42: COMMENT ON COLUMN products.statementDescriptor IS 'The product statement descriptor used on charge statements.'
18:54:15.393 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 43: COMMENT ON COLUMN products.type IS 'The product type, either service or good.'
18:54:15.394 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 44: COMMENT ON COLUMN products.unitLabel IS 'The product unit label.'
18:54:15.394 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 45: COMMENT ON COLUMN products.url IS 'The product URL used for more information.'
18:54:15.394 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 46: COMMENT ON COLUMN products.metadata IS 'The product metadata JSON object, currently a feature list.'
18:54:15.394 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.5__Insert_Standard_Products.sql ...
18:54:15.395 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 3: --- Individual Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    32000,
    'Faculty or research lab',
    now(),
    'USD',
    'Create a customized portal for your work and projects. Help others understand and access your data.',
    'year',
    'Individual',
    'DataONE Membership Plan - Individual',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "1","hardLimit": "1","totalUsage": "0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:15.396 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 24: --- Small Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    200000,
    'Small institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Small Organization',
    'DataONE Membership Plan - Small Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "5","hardLimit": "5","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:15.396 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 44: --- Medium Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    600000,
    'Medium institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Medium Organization',
    'DataONE Membership Plan - Medium Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "15","hardLimit": "15","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:15.397 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 64: --- Large Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    2800000,
    'Large institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Large Organization',
    'DataONE Membership Plan - Large Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "branded_portal","softLimit": "50","hardLimit": "50","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:15.398 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 84: -- Hosted Repository
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    'true',
    1200000,
    'A dedicated repository solution for your group or institution’s data, managed by DataONE',
    now(),
    'USD',
    'Bring the products of your research lab, field station, or library together in a centralized location for efficient sharing, access, and reuse. Accelerate research activity, foster new collaborations, and build community with a repository that meets your needs and reflects your brand.',
    'year',
    'DataONE Hosted Repository',
    'DataONE Hosted Repository',
    'service',
    'repository',
    'https://products.dataone.org/hostedrepo',
    '{"features": [{"name": "trusted_data_repository","label": "A Trusted Data Repository","description": "Preserve and share your data, software, and derived products in a dedicated repository system. Built on our robust and expertly managed repository software and hardware, your research products are safely inactive and easily accessible."},{"name": "individual_fair_Assessments","label": "Individual FAIR Assessments","description": "Evaluate your metadata with community established FAIR principles. Scores are refreshed with updates to your metadata, helping make your data even more Findable, Accessible, Interoperable, and Reusable."},{"name": "powerful_online_submission","label": "Powerful Online Submission","description": "The user friendly data submission tool helps your researchers efficiently upload and describe their data. Users can easily create detailed metadata to enhance interoperability, reusability, and value of data."},{"name": "comprehensive_search","label": "Comprehensive Search","description": "Quickly find data with detailed search filters, or by navigating the interactive map."},{"name": "usage_metrics","label": "Usage Metrics","description": "Understand how your data are being used over time with view, download, and citation metrics."},{"name": "usage_metrics","label": "Usage Metrics","description": "Understand how your data are being used over time with view, download, and citation metrics."},{"name": "expandable_storage","label": "Expandable Storage","description": "Grow your repository capacity based on your storage needs in 1 TB increments.","quota": {"object": "quota","quotaType": "repository_storage","softLimit": 1048576,"hardLimit": 1153434,"totalUsage": 0,"unit": "portal"}},{"name": "geographic_replicas","label": "Geographic Replicas","description": "Your data are replicated to distinct geographic regions for high availability and preservation."},{"name": "api_access","label": "API Access","description": "Programmatically work with your repository through the DataONE tools in R, Python, Matlab, and Java."},{"name": "link_data_and_software","label": "Link data and Software","description": "Easily show how your files relate to each other by providing well-described provenance workflows."},{"name": "private_and_public_access","label": "Private and Public Access","description": "Control access to your datasets\nprior to publication with private groups or just yourself."},{"name": "private_and_public_access","label": "Private and Public Access","description": "Control access to your datasets\nprior to publication with private groups or just yourself."},{"name": "any_file_format","label": "Any File Format","description": "Use the scientific file formats for your community: image, tabular, text, audio, video, and others."},{"name": "share_when_ready","label": "Share When Ready","description": "Keep your dataset private while you document it thoroughly, and then make it public when you are ready."}]}'
)
18:54:15.399 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 104: -- Archival Storage
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    'true',
    126000,
    'Additional High Availability Data Storage',
    now(),
    'USD',
    'Increase the available storage in your dedicated hosted repository in 1 TB increments.',
    'year',
    'Additional Data Storage',
    'Additional Data Storage',
    'service',
    'storage',
    'https://products.dataone.org/hostedrepo',
    '{}'
)
18:54:15.399 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.6__Create_Orders_Table.sql ...
18:54:15.400 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the orders table
CREATE SEQUENCE orders_id_seq
18:54:15.400 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS orders (
    id integer DEFAULT nextval('orders_id_seq') PRIMARY KEY,
    object text NOT NULL,
    amount integer,
    amountReturned integer,
    charge json,
    created timestamp with time zone,
    currency text,
    customer integer,
    subject text,
    email text,
    items json,
    metadata json,
    name text,
    status text,
    statusTransitions json,
    updated timestamp with time zone,
    seriesId text,
    startDate timestamp with time zone,
    endDate timestamp with time zone
)
18:54:15.400 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: CREATE INDEX orders_customer_idx ON orders USING btree(customer)
18:54:15.400 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 30: CREATE INDEX orders_subject_idx ON orders USING btree(subject)
18:54:15.400 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: CREATE INDEX orders_email_idx ON orders USING btree(email)
18:54:15.400 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: CREATE INDEX orders_status_idx ON orders USING btree(status)
18:54:15.400 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 34: COMMENT ON TABLE  orders IS 'Orders of products by customers.'
18:54:15.400 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 35: COMMENT ON COLUMN orders.id IS 'The unique order identifier.'
18:54:15.400 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 36: COMMENT ON COLUMN orders.object IS 'The serialized object type, set to "order".'
18:54:15.400 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 37: COMMENT ON COLUMN orders.amount IS 'The order amount in the smallest unit of the currency.'
18:54:15.400 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 38: COMMENT ON COLUMN orders.amountReturned IS 'The order amount returned in the smallest unit of the currency.'
18:54:15.401 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 39: COMMENT ON COLUMN orders.charge IS 'The order transaction charge JSON object.'
18:54:15.401 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 40: COMMENT ON COLUMN orders.created IS 'The order creation date.'
18:54:15.401 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 41: COMMENT ON COLUMN orders.currency IS 'The order currency code.'
18:54:15.401 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 42: COMMENT ON COLUMN orders.customer IS 'The order customer identifier.'
18:54:15.401 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 43: COMMENT ON COLUMN orders.subject IS 'The order user or group subject identifier.'
18:54:15.401 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 44: COMMENT ON COLUMN orders.email IS 'The order customer email.'
18:54:15.401 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 45: COMMENT ON COLUMN orders.items IS 'The order items list JSON object.'
18:54:15.401 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 46: COMMENT ON COLUMN orders.metadata IS 'The order metadata JSON object.'
18:54:15.401 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 47: COMMENT ON COLUMN orders.name IS 'The order name set by the customer.'
18:54:15.401 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 48: COMMENT ON COLUMN orders.status IS 'The order status (created, paid, canceled, fulfilled, returned.'
18:54:15.401 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 49: COMMENT ON COLUMN orders.statusTransitions IS 'The order status/date transitions JSON object'
18:54:15.401 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 50: COMMENT ON COLUMN orders.updated IS 'The order update date.'
18:54:15.401 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 51: COMMENT ON COLUMN orders.seriesId IS 'The order series identifier to track renewals.'
18:54:15.401 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 52: COMMENT ON COLUMN orders.startDate IS 'The order services start date.'
18:54:15.401 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 53: COMMENT ON COLUMN orders.endDate IS 'The order services end date.'
18:54:15.401 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.7__Alter_Quotas_Add_Order_FK.sql ...
18:54:15.402 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Add the order id foreign key constraint
ALTER TABLE quotas
    ADD CONSTRAINT quotas_order_id_fk
    FOREIGN KEY (orderId) REFERENCES orders (id) ON DELETE CASCADE
18:54:15.402 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.8__Alter_Orders_Add_Customer_FK.sql ...
18:54:15.402 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Add the customer id foreign key constraint
ALTER TABLE orders
    ADD CONSTRAINT orders_customer_id_fk
    FOREIGN KEY (customer) REFERENCES customers (id) ON DELETE CASCADE
18:54:15.402 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.9__Create_Usages_Table.sql ...
18:54:15.403 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the usages table
CREATE SEQUENCE IF NOT EXISTS usages_id_seq
18:54:15.403 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS usages (
    id integer DEFAULT nextval('usages_id_seq') PRIMARY KEY,
    object text NOT NULL,
    quotaId integer NOT NULL,
    instanceId text NOT NULL,
    quantity double precision NOT NULL,
    status text,
    nodeId text NOT NULL
)
18:54:15.403 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 16: ALTER SEQUENCE usages_id_seq OWNED BY usages.id
18:54:15.403 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 18: CREATE INDEX usages_quotaId_idx ON usages USING btree(quotaId)
18:54:15.403 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 19: CREATE INDEX usages_instanceId_idx ON usages USING btree(instanceId)
18:54:15.403 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 21: ALTER TABLE usages
    ADD CONSTRAINT usages_quotas_id_fk
    FOREIGN KEY (quotaId) REFERENCES quotas (id) ON DELETE CASCADE
18:54:15.403 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 25: COMMENT ON TABLE  usages IS 'Usages records each instance a portion of a quota is used.'
18:54:15.403 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 26: COMMENT ON COLUMN usages.id IS 'The unique usage identifier.'
18:54:15.403 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 27: COMMENT ON COLUMN usages.object IS 'The serialized object type, set to "usage".'
18:54:15.403 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 28: COMMENT ON COLUMN usages.quotaId IS 'The quota identifier.'
18:54:15.403 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: COMMENT ON COLUMN usages.instanceId IS 'The instance identifier using a portion of the quota.'
18:54:15.403 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 30: COMMENT ON COLUMN usages.quantity IS 'The quantity used by the instance, in the quota units.'
18:54:15.403 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: COMMENT ON COLUMN usages.status IS 'The status of the usage, active or inactive.'
18:54:15.403 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: COMMENT ON COLUMN usages.nodeId IS 'The quota node identifier".'
18:54:15.403 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.0__Create_Bookkeeper_Database.sql (filename: V1.0__Create_Bookkeeper_Database.sql)
18:54:15.403 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.10__Create_Function_Update_Quota_Table_Usage.sql (filename: V1.10__Create_Function_Update_Quota_Table_Usage.sql)
18:54:15.403 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.11__Alter_Usages_Add_Unique_Constraint.sql (filename: V1.11__Alter_Usages_Add_Unique_Constraint.sql)
18:54:15.403 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql (filename: V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql)
18:54:15.403 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.1__Create_Quotas_Table.sql (filename: V1.1__Create_Quotas_Table.sql)
18:54:15.403 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.2__Insert_Standard_Quotas.sql (filename: V1.2__Insert_Standard_Quotas.sql)
18:54:15.403 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.3__Create_Customers_Table.sql (filename: V1.3__Create_Customers_Table.sql)
18:54:15.403 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.4__Create_Products_Table.sql (filename: V1.4__Create_Products_Table.sql)
18:54:15.403 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.5__Insert_Standard_Products.sql (filename: V1.5__Insert_Standard_Products.sql)
18:54:15.403 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.6__Create_Orders_Table.sql (filename: V1.6__Create_Orders_Table.sql)
18:54:15.403 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.7__Alter_Quotas_Add_Order_FK.sql (filename: V1.7__Alter_Quotas_Add_Order_FK.sql)
18:54:15.403 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.8__Alter_Orders_Add_Customer_FK.sql (filename: V1.8__Alter_Orders_Add_Customer_FK.sql)
18:54:15.403 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.9__Create_Usages_Table.sql (filename: V1.9__Create_Usages_Table.sql)
18:54:15.404 [main] INFO org.flywaydb.core.internal.command.DbValidate - Successfully validated 13 migrations (execution time 00:00.020s)
18:54:15.405 [main] DEBUG org.flywaydb.core.internal.command.DbSchemas - Schema "public" already exists. Skipping schema creation.
18:54:15.409 [main] INFO org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Creating Schema History table: "public"."flyway_schema_history"
18:54:15.410 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing createMetaDataTable.sql ...
18:54:15.412 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 17: CREATE TABLE "public"."flyway_schema_history" (
    "installed_rank" INT NOT NULL,
    "version" VARCHAR(50),
    "description" VARCHAR(200) NOT NULL,
    "type" VARCHAR(20) NOT NULL,
    "script" VARCHAR(1000) NOT NULL,
    "checksum" INTEGER,
    "installed_by" VARCHAR(100) NOT NULL,
    "installed_on" TIMESTAMP NOT NULL DEFAULT now(),
    "execution_time" INTEGER NOT NULL,
    "success" BOOLEAN NOT NULL
)
18:54:15.412 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: ALTER TABLE "public"."flyway_schema_history" ADD CONSTRAINT "flyway_schema_history_pk" PRIMARY KEY ("installed_rank")
18:54:15.412 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: CREATE INDEX "flyway_schema_history_s_idx" ON "public"."flyway_schema_history" ("success")
18:54:15.412 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE "public"."flyway_schema_history" (
    "installed_rank" INT NOT NULL,
    "version" VARCHAR(50),
    "description" VARCHAR(200) NOT NULL,
    "type" VARCHAR(20) NOT NULL,
    "script" VARCHAR(1000) NOT NULL,
    "checksum" INTEGER,
    "installed_by" VARCHAR(100) NOT NULL,
    "installed_on" TIMESTAMP NOT NULL DEFAULT now(),
    "execution_time" INTEGER NOT NULL,
    "success" BOOLEAN NOT NULL
)
18:54:15.415 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.415 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER TABLE "public"."flyway_schema_history" ADD CONSTRAINT "flyway_schema_history_pk" PRIMARY KEY ("installed_rank")
18:54:15.416 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.416 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX "flyway_schema_history_s_idx" ON "public"."flyway_schema_history" ("success")
18:54:15.416 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.416 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Created Schema History table: "public"."flyway_schema_history"
18:54:15.419 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Current version of schema "public": << Empty Schema >>
18:54:15.420 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.0 - Create Bookkeeper Database
18:54:15.420 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.0 - Create Bookkeeper Database
18:54:15.421 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:15.422 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.1 - Create Quotas Table
18:54:15.423 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the quotas table
CREATE SEQUENCE IF NOT EXISTS quotas_id_seq
18:54:15.424 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.424 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS quotas (
    id integer DEFAULT nextval('quotas_id_seq') PRIMARY KEY,
    object text NOT NULL,
    quotaType text NOT NULL,
    softLimit double precision NOT NULL,
    hardLimit double precision NOT NULL,
    totalUsage double precision,
    unit text NOT NULL,
    orderId integer,
    subject text,
    name text
)
18:54:15.425 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.425 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER SEQUENCE quotas_id_seq OWNED BY quotas.id
18:54:15.426 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.426 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX quotas_quotaType_idx ON quotas USING btree(quotaType)
18:54:15.426 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.426 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX quotas_orderId_idx ON quotas USING btree(orderId)
18:54:15.427 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.427 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX quotas_subject_idx ON quotas USING btree(subject)
18:54:15.427 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.427 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE quotas IS 'Quotas limiting resources for products per customer. Quotas may be associated with products or customers by their ids.'
18:54:15.427 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.427 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.id IS 'The unique quota identifier'
18:54:15.428 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.428 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.object IS 'The serialized object type, set to "quota"'
18:54:15.428 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.429 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.quotaType IS 'The quota type'
18:54:15.430 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.431 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.softLimit IS 'The soft limit of the resource.'
18:54:15.431 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.431 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.hardLimit IS 'The hard limit of the resource.'
18:54:15.431 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.431 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.totalUsage IS 'The current observed total usage of the quota.'
18:54:15.431 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.431 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.unit IS 'The named unit of the quota.'
18:54:15.431 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.431 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.orderId IS 'The order id to which the quota is applied.'
18:54:15.432 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.432 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.subject IS 'The subject identifier to which the quota is applied.'
18:54:15.432 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.432 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.name IS 'The quota name, copied from the order name.'
18:54:15.432 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.432 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.1 - Create Quotas Table
18:54:15.433 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:15.434 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.2 - Insert Standard Quotas
18:54:15.435 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- 1GB base storage limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'storage', 1073741824.0, 1181116006.4, NULL, 'byte', NULL, NULL)
18:54:15.435 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:15.435 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- 1TB base hosted repository storage limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'repository_storage', 1099511627776.0, 1209462790553.6, NULL, 'byte', NULL,
    NULL)
18:54:15.436 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:15.436 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- Single base branded portal limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'portal', 1.0, 1.0, NULL, 'portal', NULL, NULL)
18:54:15.436 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:15.436 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.2 - Insert Standard Quotas
18:54:15.436 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:15.437 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.3 - Create Customers Table
18:54:15.438 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the customers table
CREATE SEQUENCE customers_id_seq
18:54:15.438 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.438 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS customers (
    id integer DEFAULT nextval('customers_id_seq') PRIMARY KEY,
    object text NOT NULL,
    subject text NOT NULL,
    balance integer,
    address json,
    created timestamp with time zone,
    currency text,
    delinquent boolean,
    description text,
    discount json,
    email text,
    invoicePrefix text,
    invoiceSettings json,
    metadata json,
    givenName text,
    surName text,
    phone text
)
18:54:15.440 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.440 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER SEQUENCE customers_id_seq OWNED BY customers.id
18:54:15.440 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.440 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX customers_subject_idx ON customers USING btree(subject)
18:54:15.440 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.440 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX customers_email_idx ON customers USING btree(email)
18:54:15.441 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.441 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE customers IS 'Customers that have ordered products and have quotas.'
18:54:15.441 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.441 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.id IS 'The unique customer identifier.'
18:54:15.441 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.441 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.object IS 'The serialized object type, set to "customer".'
18:54:15.441 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.441 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.subject IS 'The unique customer Subject identifier.'
18:54:15.441 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.441 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.balance IS 'The customer balance, in the smallest unit of the currency (i.e. USD cents).'
18:54:15.442 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.442 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.address IS 'The customer address, stored as a JSON address object.'
18:54:15.442 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.442 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.created IS 'The customer creation date.'
18:54:15.442 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.442 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.currency IS 'The customer currency, defaults to "USD".'
18:54:15.442 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.442 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.delinquent IS 'The customer delinquency status, true or false'
18:54:15.442 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.442 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.description IS 'The customer description'
18:54:15.442 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.442 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.discount IS 'The customer discount, stored as a JSON Discount object.'
18:54:15.443 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.443 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.email IS 'The customer email address.'
18:54:15.443 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.443 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.invoicePrefix IS 'The customer invoice prefix'
18:54:15.443 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.443 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.invoiceSettings IS 'The customer settings, stored as a JSON InvoiceSettings object'
18:54:15.443 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.443 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.metadata IS 'The customer metadata, stored as a JSON object (undefined as of yet)'
18:54:15.443 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.444 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.givenName IS 'The customer given name'
18:54:15.444 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.444 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.surName IS 'The customer surname'
18:54:15.444 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.444 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.phone IS 'The customer phone'
18:54:15.444 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.444 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.3 - Create Customers Table
18:54:15.445 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:15.446 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.4 - Create Products Table
18:54:15.446 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the products table
CREATE SEQUENCE products_id_seq
18:54:15.447 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.447 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS products (
    id integer DEFAULT nextval('products_id_seq') PRIMARY KEY,
    object text NOT NULL,
    active boolean,
    amount integer NOT NULL,
    name text,
    caption text,
    currency text NOT NULL,
    description text,
    interval text NOT NULL,
    created timestamp with time zone,
    statementDescriptor text,
    type text,
    unitLabel text,
    url text,
    metadata json
)
18:54:15.448 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.448 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER SEQUENCE products_id_seq OWNED BY products.id
18:54:15.448 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.448 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX products_active_idx ON products USING btree(active)
18:54:15.449 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.449 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX products_name_idx ON products USING btree(name)
18:54:15.449 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.449 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX products_caption_idx ON products USING btree(caption)
18:54:15.450 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.450 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX products_description_idx ON products USING btree(description)
18:54:15.450 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.450 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE  products IS 'Products that are offered as services.'
18:54:15.450 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.450 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.id IS 'The unique product identifier'
18:54:15.450 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.451 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.object IS 'The serialized object type, set to "product"'
18:54:15.451 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.451 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.active IS 'The active status for the product, true or false.'
18:54:15.451 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.451 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.amount IS 'The cost amount for the product, in pence of the currency'
18:54:15.451 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.451 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.name IS 'The product name.'
18:54:15.451 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.451 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.caption IS 'The product caption, used for display.'
18:54:15.451 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.451 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.currency IS 'The product currency as a 3-letter ISO currency code.'
18:54:15.451 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.451 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.description IS 'The product general description.'
18:54:15.452 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.452 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.interval IS 'The product payment interval (day, week, month, year).'
18:54:15.452 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.452 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.created IS 'The product creation date.'
18:54:15.452 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.452 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.statementDescriptor IS 'The product statement descriptor used on charge statements.'
18:54:15.452 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.452 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.type IS 'The product type, either service or good.'
18:54:15.452 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.452 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.unitLabel IS 'The product unit label.'
18:54:15.452 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.452 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.url IS 'The product URL used for more information.'
18:54:15.452 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.452 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.metadata IS 'The product metadata JSON object, currently a feature list.'
18:54:15.453 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.453 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.4 - Create Products Table
18:54:15.453 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:15.454 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.5 - Insert Standard Products
18:54:15.455 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Individual Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    32000,
    'Faculty or research lab',
    now(),
    'USD',
    'Create a customized portal for your work and projects. Help others understand and access your data.',
    'year',
    'Individual',
    'DataONE Membership Plan - Individual',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "1","hardLimit": "1","totalUsage": "0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:15.456 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:15.456 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Small Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    200000,
    'Small institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Small Organization',
    'DataONE Membership Plan - Small Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "5","hardLimit": "5","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:15.456 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:15.456 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Medium Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    600000,
    'Medium institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Medium Organization',
    'DataONE Membership Plan - Medium Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "15","hardLimit": "15","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:15.457 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:15.457 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Large Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    2800000,
    'Large institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Large Organization',
    'DataONE Membership Plan - Large Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "branded_portal","softLimit": "50","hardLimit": "50","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:15.457 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:15.457 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- Hosted Repository
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    'true',
    1200000,
    'A dedicated repository solution for your group or institution’s data, managed by DataONE',
    now(),
    'USD',
    'Bring the products of your research lab, field station, or library together in a centralized location for efficient sharing, access, and reuse. Accelerate research activity, foster new collaborations, and build community with a repository that meets your needs and reflects your brand.',
    'year',
    'DataONE Hosted Repository',
    'DataONE Hosted Repository',
    'service',
    'repository',
    'https://products.dataone.org/hostedrepo',
    '{"features": [{"name": "trusted_data_repository","label": "A Trusted Data Repository","description": "Preserve and share your data, software, and derived products in a dedicated repository system. Built on our robust and expertly managed repository software and hardware, your research products are safely inactive and easily accessible."},{"name": "individual_fair_Assessments","label": "Individual FAIR Assessments","description": "Evaluate your metadata with community established FAIR principles. Scores are refreshed with updates to your metadata, helping make your data even more Findable, Accessible, Interoperable, and Reusable."},{"name": "powerful_online_submission","label": "Powerful Online Submission","description": "The user friendly data submission tool helps your researchers efficiently upload and describe their data. Users can easily create detailed metadata to enhance interoperability, reusability, and value of data."},{"name": "comprehensive_search","label": "Comprehensive Search","description": "Quickly find data with detailed search filters, or by navigating the interactive map."},{"name": "usage_metrics","label": "Usage Metrics","description": "Understand how your data are being used over time with view, download, and citation metrics."},{"name": "usage_metrics","label": "Usage Metrics","description": "Understand how your data are being used over time with view, download, and citation metrics."},{"name": "expandable_storage","label": "Expandable Storage","description": "Grow your repository capacity based on your storage needs in 1 TB increments.","quota": {"object": "quota","quotaType": "repository_storage","softLimit": 1048576,"hardLimit": 1153434,"totalUsage": 0,"unit": "portal"}},{"name": "geographic_replicas","label": "Geographic Replicas","description": "Your data are replicated to distinct geographic regions for high availability and preservation."},{"name": "api_access","label": "API Access","description": "Programmatically work with your repository through the DataONE tools in R, Python, Matlab, and Java."},{"name": "link_data_and_software","label": "Link data and Software","description": "Easily show how your files relate to each other by providing well-described provenance workflows."},{"name": "private_and_public_access","label": "Private and Public Access","description": "Control access to your datasets\nprior to publication with private groups or just yourself."},{"name": "private_and_public_access","label": "Private and Public Access","description": "Control access to your datasets\nprior to publication with private groups or just yourself."},{"name": "any_file_format","label": "Any File Format","description": "Use the scientific file formats for your community: image, tabular, text, audio, video, and others."},{"name": "share_when_ready","label": "Share When Ready","description": "Keep your dataset private while you document it thoroughly, and then make it public when you are ready."}]}'
)
18:54:15.458 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:15.458 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- Archival Storage
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    'true',
    126000,
    'Additional High Availability Data Storage',
    now(),
    'USD',
    'Increase the available storage in your dedicated hosted repository in 1 TB increments.',
    'year',
    'Additional Data Storage',
    'Additional Data Storage',
    'service',
    'storage',
    'https://products.dataone.org/hostedrepo',
    '{}'
)
18:54:15.458 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:15.458 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.5 - Insert Standard Products
18:54:15.459 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:15.460 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.6 - Create Orders Table
18:54:15.460 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the orders table
CREATE SEQUENCE orders_id_seq
18:54:15.461 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.461 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS orders (
    id integer DEFAULT nextval('orders_id_seq') PRIMARY KEY,
    object text NOT NULL,
    amount integer,
    amountReturned integer,
    charge json,
    created timestamp with time zone,
    currency text,
    customer integer,
    subject text,
    email text,
    items json,
    metadata json,
    name text,
    status text,
    statusTransitions json,
    updated timestamp with time zone,
    seriesId text,
    startDate timestamp with time zone,
    endDate timestamp with time zone
)
18:54:15.462 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.462 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX orders_customer_idx ON orders USING btree(customer)
18:54:15.463 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.463 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX orders_subject_idx ON orders USING btree(subject)
18:54:15.463 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.463 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX orders_email_idx ON orders USING btree(email)
18:54:15.464 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.464 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX orders_status_idx ON orders USING btree(status)
18:54:15.464 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.464 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE  orders IS 'Orders of products by customers.'
18:54:15.464 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.464 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.id IS 'The unique order identifier.'
18:54:15.465 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.465 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.object IS 'The serialized object type, set to "order".'
18:54:15.465 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.465 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.amount IS 'The order amount in the smallest unit of the currency.'
18:54:15.465 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.465 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.amountReturned IS 'The order amount returned in the smallest unit of the currency.'
18:54:15.465 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.465 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.charge IS 'The order transaction charge JSON object.'
18:54:15.465 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.465 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.created IS 'The order creation date.'
18:54:15.465 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.465 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.currency IS 'The order currency code.'
18:54:15.465 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.465 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.customer IS 'The order customer identifier.'
18:54:15.465 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.465 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.subject IS 'The order user or group subject identifier.'
18:54:15.465 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.466 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.email IS 'The order customer email.'
18:54:15.466 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.466 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.items IS 'The order items list JSON object.'
18:54:15.466 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.466 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.metadata IS 'The order metadata JSON object.'
18:54:15.466 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.466 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.name IS 'The order name set by the customer.'
18:54:15.466 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.466 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.status IS 'The order status (created, paid, canceled, fulfilled, returned.'
18:54:15.466 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.466 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.statusTransitions IS 'The order status/date transitions JSON object'
18:54:15.466 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.466 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.updated IS 'The order update date.'
18:54:15.466 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.466 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.seriesId IS 'The order series identifier to track renewals.'
18:54:15.466 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.466 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.startDate IS 'The order services start date.'
18:54:15.467 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.467 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.endDate IS 'The order services end date.'
18:54:15.467 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.467 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.6 - Create Orders Table
18:54:15.467 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:15.468 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.7 - Alter Quotas Add Order FK
18:54:15.469 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Add the order id foreign key constraint
ALTER TABLE quotas
    ADD CONSTRAINT quotas_order_id_fk
    FOREIGN KEY (orderId) REFERENCES orders (id) ON DELETE CASCADE
18:54:15.470 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.470 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.7 - Alter Quotas Add Order FK
18:54:15.471 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:15.472 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.8 - Alter Orders Add Customer FK
18:54:15.472 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Add the customer id foreign key constraint
ALTER TABLE orders
    ADD CONSTRAINT orders_customer_id_fk
    FOREIGN KEY (customer) REFERENCES customers (id) ON DELETE CASCADE
18:54:15.473 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.473 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.8 - Alter Orders Add Customer FK
18:54:15.474 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:15.475 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.9 - Create Usages Table
18:54:15.476 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the usages table
CREATE SEQUENCE IF NOT EXISTS usages_id_seq
18:54:15.476 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.476 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS usages (
    id integer DEFAULT nextval('usages_id_seq') PRIMARY KEY,
    object text NOT NULL,
    quotaId integer NOT NULL,
    instanceId text NOT NULL,
    quantity double precision NOT NULL,
    status text,
    nodeId text NOT NULL
)
18:54:15.478 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.478 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER SEQUENCE usages_id_seq OWNED BY usages.id
18:54:15.478 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.478 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX usages_quotaId_idx ON usages USING btree(quotaId)
18:54:15.478 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.478 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX usages_instanceId_idx ON usages USING btree(instanceId)
18:54:15.479 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.479 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER TABLE usages
    ADD CONSTRAINT usages_quotas_id_fk
    FOREIGN KEY (quotaId) REFERENCES quotas (id) ON DELETE CASCADE
18:54:15.479 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.479 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE  usages IS 'Usages records each instance a portion of a quota is used.'
18:54:15.480 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.480 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.id IS 'The unique usage identifier.'
18:54:15.480 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.480 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.object IS 'The serialized object type, set to "usage".'
18:54:15.480 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.480 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.quotaId IS 'The quota identifier.'
18:54:15.480 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.480 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.instanceId IS 'The instance identifier using a portion of the quota.'
18:54:15.480 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.480 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.quantity IS 'The quantity used by the instance, in the quota units.'
18:54:15.480 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.480 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.status IS 'The status of the usage, active or inactive.'
18:54:15.480 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.480 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.nodeId IS 'The quota node identifier".'
18:54:15.481 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.481 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.9 - Create Usages Table
18:54:15.481 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:15.482 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.10 - Create Function Update Quota Table Usage
18:54:15.482 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the update quota usage function for inserts and updates
CREATE OR REPLACE FUNCTION update_quota_usage_on_insert_or_update()
    RETURNS trigger
    AS $update_quota_usage_on_insert_or_update$
    BEGIN
        -- Check that quotaId is given
        IF NEW.quotaId IS NULL THEN
            RAISE EXCEPTION 'quotaId cannot be null';
        END IF;

        -- Update the quotas.totalUsage column
        UPDATE quotas q
            SET totalUsage = (SELECT SUM(u.quantity) FROM usages u WHERE u.status != 'inactive' AND u.quotaId = NEW.quotaId)
                WHERE q.id = NEW.quotaId;
        RETURN NEW;
    END;
    $update_quota_usage_on_insert_or_update$
    LANGUAGE plpgsql
18:54:15.484 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.484 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the update quota totalUsage trigger
DROP TRIGGER IF EXISTS update_quotas_usage_on_insert_or_update ON usages
18:54:15.484 [main] INFO org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - DB: trigger "update_quotas_usage_on_insert_or_update" for relation "usages" does not exist, skipping
18:54:15.484 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.484 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TRIGGER update_quotas_usage_on_insert_or_update AFTER INSERT OR UPDATE ON usages
    FOR EACH ROW
        EXECUTE PROCEDURE update_quota_usage_on_insert_or_update()
18:54:15.484 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.484 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the update quota totalUsage function for deletes
CREATE OR REPLACE FUNCTION update_quota_usage_on_delete()
    RETURNS trigger
    AS $update_quota_usage_on_delete$
    BEGIN
        -- Check that quotaId is given
        IF OLD.quotaId IS NULL THEN
            RAISE EXCEPTION 'quotaId cannot be null';
        END IF;

        -- Update the quotas.usage column
        UPDATE quotas q
            SET totalUsage = (SELECT SUM(u.quantity) FROM usages u WHERE u.status != 'inactive' AND u.quotaId = OLD.quotaId)
                WHERE q.id = OLD.quotaId;
        RETURN OLD;
    END;
    $update_quota_usage_on_delete$
    LANGUAGE plpgsql
18:54:15.485 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.485 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the update quota totalUsage trigger
DROP TRIGGER IF EXISTS update_quotas_usage_on_delete ON usages
18:54:15.485 [main] INFO org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - DB: trigger "update_quotas_usage_on_delete" for relation "usages" does not exist, skipping
18:54:15.485 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.485 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TRIGGER update_quotas_usage_on_delete AFTER DELETE ON usages
    FOR EACH ROW
        EXECUTE PROCEDURE update_quota_usage_on_delete()
18:54:15.485 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.485 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.10 - Create Function Update Quota Table Usage
18:54:15.486 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:15.487 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.11 - Alter Usages Add Unique Constraint
18:54:15.487 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Add a unique constraint to the usage table for the 'quotaid' + 'instanceid' columns
CREATE UNIQUE INDEX usages_quotaid_instanceid_idx
    ON usages USING btree(quotaid,instanceid)
18:54:15.488 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.488 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.11 - Alter Usages Add Unique Constraint
18:54:15.489 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:15.489 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.12 - Alter Quotas Add Unique Constraint OrderId QuotaType
18:54:15.490 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Add a unique constraint to the quotas table for the orderId and quotaType columns
CREATE UNIQUE INDEX quotas_order_id_quota_type_idx
    ON quotas USING btree(orderId, quotaType)
18:54:15.490 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:15.490 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.12 - Alter Quotas Add Unique Constraint OrderId QuotaType
18:54:15.491 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:15.492 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Successfully applied 13 migrations to schema "public" (execution time 00:00.082s)
18:54:15.492 [main] DEBUG org.flywaydb.core.Flyway - Memory usage: 240 of 430M
18:54:15.496 [main] DEBUG org.hibernate.validator.internal.engine.resolver.TraversableResolvers - Cannot find javax.persistence.Persistence on classpath. Assuming non JPA 2 environment. All properties will per default be traversable.
18:54:15.497 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Adding value extractor io.dropwizard.validation.valuehandling.GuavaOptionalValueExtractor@297ea53a
18:54:15.497 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Setting custom ConstraintValidatorFactory of type io.dropwizard.jersey.validation.MutableValidatorFactory
18:54:15.497 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Setting custom ParameterNameProvider of type io.dropwizard.jersey.validation.JerseyParameterNameProvider
18:54:15.497 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Adding value extractor io.dropwizard.jersey.validation.NonEmptyStringParamValueExtractor@3a320ade
18:54:15.497 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Adding value extractor io.dropwizard.jersey.validation.ParamValueExtractor@21005f6c
18:54:15.497 [main] DEBUG org.hibernate.validator.internal.xml.config.ValidationXmlParser - Trying to load META-INF/validation.xml for XML based Validator configuration.
18:54:15.497 [main] DEBUG org.hibernate.validator.internal.xml.config.ResourceLoaderHelper - Trying to load META-INF/validation.xml via TCCL
18:54:15.498 [main] DEBUG org.hibernate.validator.internal.xml.config.ResourceLoaderHelper - Trying to load META-INF/validation.xml via Hibernate Validator's class loader
18:54:15.498 [main] DEBUG org.hibernate.validator.internal.xml.config.ValidationXmlParser - No META-INF/validation.xml found. Using annotation based configuration only.
18:54:15.499 [main] DEBUG org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator - Loaded expression factory via original TCCL
18:54:15.501 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000252: Using org.hibernate.validator.internal.engine.DefaultPropertyNodeNameProvider as property node name provider.
18:54:15.502 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator as ValidatorFactory-scoped message interpolator.
18:54:15.502 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.internal.engine.resolver.TraverseAllTraversableResolver as ValidatorFactory-scoped traversable resolver.
18:54:15.502 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.internal.util.ExecutableParameterNameProvider as ValidatorFactory-scoped parameter name provider.
18:54:15.502 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.internal.engine.DefaultClockProvider as ValidatorFactory-scoped clock provider.
18:54:15.502 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.internal.engine.scripting.DefaultScriptEvaluatorFactory as ValidatorFactory-scoped script evaluator factory.
18:54:15.503 [main] DEBUG org.eclipse.jetty.util.DecoratedObjectFactory - Adding Decorator: org.eclipse.jetty.util.DeprecationWarning@1aaf46e6
18:54:15.504 [main] DEBUG org.eclipse.jetty.util.component.ContainerLifeCycle - i.d.j.MutableServletContextHandler@391d28ea{/,null,UNAVAILABLE} added {ServletHandler@23df7fad{STOPPED},MANAGED}
18:54:15.504 [main] DEBUG org.eclipse.jetty.util.DecoratedObjectFactory - Adding Decorator: org.eclipse.jetty.util.DeprecationWarning@4ab455e2
18:54:15.504 [main] DEBUG org.eclipse.jetty.util.component.ContainerLifeCycle - i.d.j.MutableServletContextHandler@2acca224{/,null,UNAVAILABLE} added {ServletHandler@7ac685ef{STOPPED},MANAGED}
18:54:15.703 [main] DEBUG org.flywaydb.core.Flyway - DDL Transactions Supported: true
18:54:15.704 [main] DEBUG org.flywaydb.core.Flyway - Schema: public
18:54:15.704 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning for classpath resources at 'classpath:db/migrations' ...
18:54:15.704 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Determining location urls for classpath:db/migrations using ClassLoader sun.misc.Launcher$AppClassLoader@7f31245a ...
18:54:15.704 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning URL: file:/var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/db/migrations
18:54:15.704 [main] DEBUG org.flywaydb.core.internal.util.FeatureDetector - JBoss VFS v2 available: false
18:54:15.704 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.FileSystemClassPathLocationScanner - Scanning starting at classpath root in filesystem: /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/
18:54:15.704 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.FileSystemClassPathLocationScanner - Scanning for resources in path: /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/db/migrations (db/migrations)
18:54:15.704 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.0__Create_Bookkeeper_Database.sql
18:54:15.704 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.10__Create_Function_Update_Quota_Table_Usage.sql
18:54:15.704 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.11__Alter_Usages_Add_Unique_Constraint.sql
18:54:15.704 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql
18:54:15.705 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.1__Create_Quotas_Table.sql
18:54:15.705 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.2__Insert_Standard_Quotas.sql
18:54:15.705 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.3__Create_Customers_Table.sql
18:54:15.705 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.4__Create_Products_Table.sql
18:54:15.705 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.5__Insert_Standard_Products.sql
18:54:15.705 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.6__Create_Orders_Table.sql
18:54:15.705 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.7__Alter_Quotas_Add_Order_FK.sql
18:54:15.705 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.8__Alter_Orders_Add_Customer_FK.sql
18:54:15.705 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.9__Create_Usages_Table.sql
18:54:15.705 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning for classes at classpath:db/migrations
18:54:15.705 [main] DEBUG org.flywaydb.core.internal.callback.SqlScriptCallbackFactory - Scanning for SQL callbacks ...
18:54:15.705 [main] DEBUG org.flywaydb.core.internal.util.FeatureDetector - Spring Jdbc available: false
18:54:15.709 [main] DEBUG org.flywaydb.core.internal.command.DbClean - Cleaning schema "public" ...
18:54:15.731 [main] INFO org.flywaydb.core.internal.command.DbClean - Successfully cleaned schema "public" (execution time 00:00.021s)
18:54:15.731 [main] DEBUG org.flywaydb.core.Flyway - Memory usage: 320 of 430M
18:54:15.733 [log:pid(19902)] INFO pg-8a50e044-eaf1-4b57-8e66-1cbf44d08138 - 2020-10-28 18:54:15.733 UTC [19906] LOG:  received fast shutdown request
18:54:15.833 [log:pid(19922)] INFO init-8a50e044-eaf1-4b57-8e66-1cbf44d08138:pg_ctl - waiting for server to shut down.... done
18:54:15.834 [log:pid(19922)] INFO init-8a50e044-eaf1-4b57-8e66-1cbf44d08138:pg_ctl - server stopped
18:54:15.834 [main] INFO com.opentable.db.postgres.embedded.EmbeddedPostgres - 8a50e044-eaf1-4b57-8e66-1cbf44d08138 shut down postmaster in 00:00:00.102
[INFO] Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.35 s - in org.dataone.bookkeeper.jdbi.CustomerStoreTest
[INFO] Running org.dataone.bookkeeper.EmbeddedPostgresqlTest
18:54:16.694 [log:pid(19937)] INFO init-fc86408e-e2e4-427c-b140-e91c25965f87:initdb - The files belonging to this database system will be owned by user "jenkins".
18:54:16.694 [log:pid(19937)] INFO init-fc86408e-e2e4-427c-b140-e91c25965f87:initdb - This user must also own the server process.
18:54:16.694 [log:pid(19937)] INFO init-fc86408e-e2e4-427c-b140-e91c25965f87:initdb - 
18:54:16.694 [log:pid(19937)] INFO init-fc86408e-e2e4-427c-b140-e91c25965f87:initdb - The database cluster will be initialized with locale "en_US.UTF-8".
18:54:16.694 [log:pid(19937)] INFO init-fc86408e-e2e4-427c-b140-e91c25965f87:initdb - The default text search configuration will be set to "english".
18:54:16.694 [log:pid(19937)] INFO init-fc86408e-e2e4-427c-b140-e91c25965f87:initdb - 
18:54:16.694 [log:pid(19937)] INFO init-fc86408e-e2e4-427c-b140-e91c25965f87:initdb - Data page checksums are disabled.
18:54:16.694 [log:pid(19937)] INFO init-fc86408e-e2e4-427c-b140-e91c25965f87:initdb - 
18:54:16.694 [log:pid(19937)] INFO init-fc86408e-e2e4-427c-b140-e91c25965f87:initdb - fixing permissions on existing directory /tmp/epg8059580599337530401 ... ok
18:54:16.694 [log:pid(19937)] INFO init-fc86408e-e2e4-427c-b140-e91c25965f87:initdb - creating subdirectories ... ok
18:54:16.703 [log:pid(19937)] INFO init-fc86408e-e2e4-427c-b140-e91c25965f87:initdb - selecting default max_connections ... 100
18:54:16.715 [log:pid(19937)] INFO init-fc86408e-e2e4-427c-b140-e91c25965f87:initdb - selecting default shared_buffers ... 128MB
18:54:16.715 [log:pid(19937)] INFO init-fc86408e-e2e4-427c-b140-e91c25965f87:initdb - selecting dynamic shared memory implementation ... posix
18:54:16.785 [log:pid(19937)] INFO init-fc86408e-e2e4-427c-b140-e91c25965f87:initdb - creating configuration files ... ok
18:54:16.903 [log:pid(19937)] INFO init-fc86408e-e2e4-427c-b140-e91c25965f87:initdb - running bootstrap script ... ok
18:54:17.325 [log:pid(19937)] INFO init-fc86408e-e2e4-427c-b140-e91c25965f87:initdb - performing post-bootstrap initialization ... ok
18:54:17.525 [log:pid(19937)] INFO init-fc86408e-e2e4-427c-b140-e91c25965f87:initdb - syncing data to disk ... ok
18:54:17.525 [log:pid(19937)] INFO init-fc86408e-e2e4-427c-b140-e91c25965f87:initdb - 
18:54:17.525 [log:pid(19937)] INFO init-fc86408e-e2e4-427c-b140-e91c25965f87:initdb - Success. You can now start the database server using:
18:54:17.525 [log:pid(19937)] INFO init-fc86408e-e2e4-427c-b140-e91c25965f87:initdb - 
18:54:17.525 [log:pid(19937)] INFO init-fc86408e-e2e4-427c-b140-e91c25965f87:initdb -     /tmp/embedded-pg/PG-06e3a92a2edb6ddd6dbdf5602d0252ca/bin/pg_ctl -D /tmp/epg8059580599337530401 -l logfile start
18:54:17.525 [log:pid(19937)] INFO init-fc86408e-e2e4-427c-b140-e91c25965f87:initdb - 
18:54:17.526 [main] INFO com.opentable.db.postgres.embedded.EmbeddedPostgres - fc86408e-e2e4-427c-b140-e91c25965f87 initdb completed in 00:00:00.840
18:54:17.528 [main] INFO com.opentable.db.postgres.embedded.EmbeddedPostgres - fc86408e-e2e4-427c-b140-e91c25965f87 postmaster started as java.lang.UNIXProcess@45b8bbbf on port 5432.  Waiting up to PT10S for server startup to finish.
18:54:17.539 [log:pid(19951)] INFO pg-fc86408e-e2e4-427c-b140-e91c25965f87 - waiting for server to start....2020-10-28 18:54:17.539 UTC [19955] LOG:  listening on IPv6 address "::1", port 5432
18:54:17.539 [log:pid(19951)] INFO pg-fc86408e-e2e4-427c-b140-e91c25965f87 - 2020-10-28 18:54:17.539 UTC [19955] LOG:  listening on IPv4 address "127.0.0.1", port 5432
18:54:17.539 [log:pid(19951)] INFO pg-fc86408e-e2e4-427c-b140-e91c25965f87 - 2020-10-28 18:54:17.539 UTC [19955] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
18:54:17.573 [log:pid(19951)] INFO pg-fc86408e-e2e4-427c-b140-e91c25965f87 - 2020-10-28 18:54:17.573 UTC [19958] LOG:  database system was shut down at 2020-10-28 18:54:17 UTC
18:54:17.576 [log:pid(19951)] INFO pg-fc86408e-e2e4-427c-b140-e91c25965f87 - 2020-10-28 18:54:17.576 UTC [19955] LOG:  database system is ready to accept connections
18:54:17.630 [log:pid(19951)] INFO pg-fc86408e-e2e4-427c-b140-e91c25965f87 - 2020-10-28 18:54:17.630 UTC [19965] LOG:  incomplete startup packet
18:54:17.634 [log:pid(19951)] INFO pg-fc86408e-e2e4-427c-b140-e91c25965f87 -  done
18:54:17.634 [log:pid(19951)] INFO pg-fc86408e-e2e4-427c-b140-e91c25965f87 - server started
18:54:17.636 [main] INFO com.opentable.db.postgres.embedded.EmbeddedPostgres - fc86408e-e2e4-427c-b140-e91c25965f87 postmaster startup finished in 00:00:00.109
18:54:17.642 [main] INFO org.flywaydb.core.internal.database.DatabaseFactory - Database: jdbc:postgresql://localhost:5432/postgres (PostgreSQL 10.6)
18:54:17.642 [main] DEBUG org.flywaydb.core.internal.database.DatabaseFactory - Driver  : PostgreSQL JDBC Driver 42.2.6
18:54:17.643 [main] DEBUG org.flywaydb.core.Flyway - DDL Transactions Supported: true
18:54:17.643 [main] DEBUG org.flywaydb.core.Flyway - Schema: public
18:54:17.643 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning for classpath resources at 'classpath:db/migrations' ...
18:54:17.643 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Determining location urls for classpath:db/migrations using ClassLoader sun.misc.Launcher$AppClassLoader@7f31245a ...
18:54:17.644 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning URL: file:/var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/db/migrations
18:54:17.644 [main] DEBUG org.flywaydb.core.internal.util.FeatureDetector - JBoss VFS v2 available: false
18:54:17.644 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.FileSystemClassPathLocationScanner - Scanning starting at classpath root in filesystem: /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/
18:54:17.645 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.FileSystemClassPathLocationScanner - Scanning for resources in path: /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/db/migrations (db/migrations)
18:54:17.645 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.0__Create_Bookkeeper_Database.sql
18:54:17.645 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.10__Create_Function_Update_Quota_Table_Usage.sql
18:54:17.645 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.11__Alter_Usages_Add_Unique_Constraint.sql
18:54:17.645 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql
18:54:17.645 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.1__Create_Quotas_Table.sql
18:54:17.645 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.2__Insert_Standard_Quotas.sql
18:54:17.645 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.3__Create_Customers_Table.sql
18:54:17.645 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.4__Create_Products_Table.sql
18:54:17.645 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.5__Insert_Standard_Products.sql
18:54:17.645 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.6__Create_Orders_Table.sql
18:54:17.645 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.7__Alter_Quotas_Add_Order_FK.sql
18:54:17.645 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.8__Alter_Orders_Add_Customer_FK.sql
18:54:17.645 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.9__Create_Usages_Table.sql
18:54:17.645 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning for classes at classpath:db/migrations
18:54:17.645 [main] DEBUG org.flywaydb.core.internal.callback.SqlScriptCallbackFactory - Scanning for SQL callbacks ...
18:54:17.646 [main] DEBUG org.flywaydb.core.internal.util.FeatureDetector - Spring Jdbc available: false
18:54:17.648 [main] DEBUG org.flywaydb.core.internal.command.DbValidate - Validating migrations ...
18:54:17.648 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.0__Create_Bookkeeper_Database.sql ...
18:54:17.649 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.10__Create_Function_Update_Quota_Table_Usage.sql ...
18:54:17.650 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the update quota usage function for inserts and updates
CREATE OR REPLACE FUNCTION update_quota_usage_on_insert_or_update()
    RETURNS trigger
    AS $update_quota_usage_on_insert_or_update$
    BEGIN
        -- Check that quotaId is given
        IF NEW.quotaId IS NULL THEN
            RAISE EXCEPTION 'quotaId cannot be null';
        END IF;

        -- Update the quotas.totalUsage column
        UPDATE quotas q
            SET totalUsage = (SELECT SUM(u.quantity) FROM usages u WHERE u.status != 'inactive' AND u.quotaId = NEW.quotaId)
                WHERE q.id = NEW.quotaId;
        RETURN NEW;
    END;
    $update_quota_usage_on_insert_or_update$
    LANGUAGE plpgsql
18:54:17.650 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 23: --- Create the update quota totalUsage trigger
DROP TRIGGER IF EXISTS update_quotas_usage_on_insert_or_update ON usages
18:54:17.650 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 25: CREATE TRIGGER update_quotas_usage_on_insert_or_update AFTER INSERT OR UPDATE ON usages
    FOR EACH ROW
        EXECUTE PROCEDURE update_quota_usage_on_insert_or_update()
18:54:17.651 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: --- Create the update quota totalUsage function for deletes
CREATE OR REPLACE FUNCTION update_quota_usage_on_delete()
    RETURNS trigger
    AS $update_quota_usage_on_delete$
    BEGIN
        -- Check that quotaId is given
        IF OLD.quotaId IS NULL THEN
            RAISE EXCEPTION 'quotaId cannot be null';
        END IF;

        -- Update the quotas.usage column
        UPDATE quotas q
            SET totalUsage = (SELECT SUM(u.quantity) FROM usages u WHERE u.status != 'inactive' AND u.quotaId = OLD.quotaId)
                WHERE q.id = OLD.quotaId;
        RETURN OLD;
    END;
    $update_quota_usage_on_delete$
    LANGUAGE plpgsql
18:54:17.651 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 48: --- Create the update quota totalUsage trigger
DROP TRIGGER IF EXISTS update_quotas_usage_on_delete ON usages
18:54:17.651 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 50: CREATE TRIGGER update_quotas_usage_on_delete AFTER DELETE ON usages
    FOR EACH ROW
        EXECUTE PROCEDURE update_quota_usage_on_delete()
18:54:17.651 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.11__Alter_Usages_Add_Unique_Constraint.sql ...
18:54:17.651 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Add a unique constraint to the usage table for the 'quotaid' + 'instanceid' columns
CREATE UNIQUE INDEX usages_quotaid_instanceid_idx
    ON usages USING btree(quotaid,instanceid)
18:54:17.652 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql ...
18:54:17.652 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Add a unique constraint to the quotas table for the orderId and quotaType columns
CREATE UNIQUE INDEX quotas_order_id_quota_type_idx
    ON quotas USING btree(orderId, quotaType)
18:54:17.653 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.1__Create_Quotas_Table.sql ...
18:54:17.653 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the quotas table
CREATE SEQUENCE IF NOT EXISTS quotas_id_seq
18:54:17.654 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS quotas (
    id integer DEFAULT nextval('quotas_id_seq') PRIMARY KEY,
    object text NOT NULL,
    quotaType text NOT NULL,
    softLimit double precision NOT NULL,
    hardLimit double precision NOT NULL,
    totalUsage double precision,
    unit text NOT NULL,
    orderId integer,
    subject text,
    name text
)
18:54:17.654 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 19: ALTER SEQUENCE quotas_id_seq OWNED BY quotas.id
18:54:17.654 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 21: CREATE INDEX quotas_quotaType_idx ON quotas USING btree(quotaType)
18:54:17.654 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 22: CREATE INDEX quotas_orderId_idx ON quotas USING btree(orderId)
18:54:17.654 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 23: CREATE INDEX quotas_subject_idx ON quotas USING btree(subject)
18:54:17.654 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 25: COMMENT ON TABLE quotas IS 'Quotas limiting resources for products per customer. Quotas may be associated with products or customers by their ids.'
18:54:17.654 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 26: COMMENT ON COLUMN quotas.id IS 'The unique quota identifier'
18:54:17.654 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 27: COMMENT ON COLUMN quotas.object IS 'The serialized object type, set to "quota"'
18:54:17.654 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 28: COMMENT ON COLUMN quotas.quotaType IS 'The quota type'
18:54:17.654 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: COMMENT ON COLUMN quotas.softLimit IS 'The soft limit of the resource.'
18:54:17.654 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 30: COMMENT ON COLUMN quotas.hardLimit IS 'The hard limit of the resource.'
18:54:17.655 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: COMMENT ON COLUMN quotas.totalUsage IS 'The current observed total usage of the quota.'
18:54:17.655 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: COMMENT ON COLUMN quotas.unit IS 'The named unit of the quota.'
18:54:17.655 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 33: COMMENT ON COLUMN quotas.orderId IS 'The order id to which the quota is applied.'
18:54:17.655 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 34: COMMENT ON COLUMN quotas.subject IS 'The subject identifier to which the quota is applied.'
18:54:17.655 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 35: COMMENT ON COLUMN quotas.name IS 'The quota name, copied from the order name.'
18:54:17.655 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.2__Insert_Standard_Quotas.sql ...
18:54:17.656 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 3: -- 1GB base storage limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'storage', 1073741824.0, 1181116006.4, NULL, 'byte', NULL, NULL)
18:54:17.656 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: -- 1TB base hosted repository storage limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'repository_storage', 1099511627776.0, 1209462790553.6, NULL, 'byte', NULL,
    NULL)
18:54:17.656 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 12: -- Single base branded portal limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'portal', 1.0, 1.0, NULL, 'portal', NULL, NULL)
18:54:17.656 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.3__Create_Customers_Table.sql ...
18:54:17.657 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the customers table
CREATE SEQUENCE customers_id_seq
18:54:17.657 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS customers (
    id integer DEFAULT nextval('customers_id_seq') PRIMARY KEY,
    object text NOT NULL,
    subject text NOT NULL,
    balance integer,
    address json,
    created timestamp with time zone,
    currency text,
    delinquent boolean,
    description text,
    discount json,
    email text,
    invoicePrefix text,
    invoiceSettings json,
    metadata json,
    givenName text,
    surName text,
    phone text
)
18:54:17.657 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 26: ALTER SEQUENCE customers_id_seq OWNED BY customers.id
18:54:17.657 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 27: CREATE INDEX customers_subject_idx ON customers USING btree(subject)
18:54:17.657 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 28: CREATE INDEX customers_email_idx ON customers USING btree(email)
18:54:17.658 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 30: COMMENT ON TABLE customers IS 'Customers that have ordered products and have quotas.'
18:54:17.658 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: COMMENT ON COLUMN customers.id IS 'The unique customer identifier.'
18:54:17.658 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: COMMENT ON COLUMN customers.object IS 'The serialized object type, set to "customer".'
18:54:17.658 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 33: COMMENT ON COLUMN customers.subject IS 'The unique customer Subject identifier.'
18:54:17.658 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 34: COMMENT ON COLUMN customers.balance IS 'The customer balance, in the smallest unit of the currency (i.e. USD cents).'
18:54:17.658 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 35: COMMENT ON COLUMN customers.address IS 'The customer address, stored as a JSON address object.'
18:54:17.658 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 36: COMMENT ON COLUMN customers.created IS 'The customer creation date.'
18:54:17.658 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 37: COMMENT ON COLUMN customers.currency IS 'The customer currency, defaults to "USD".'
18:54:17.658 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 38: COMMENT ON COLUMN customers.delinquent IS 'The customer delinquency status, true or false'
18:54:17.658 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 39: COMMENT ON COLUMN customers.description IS 'The customer description'
18:54:17.658 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 40: COMMENT ON COLUMN customers.discount IS 'The customer discount, stored as a JSON Discount object.'
18:54:17.658 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 41: COMMENT ON COLUMN customers.email IS 'The customer email address.'
18:54:17.658 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 42: COMMENT ON COLUMN customers.invoicePrefix IS 'The customer invoice prefix'
18:54:17.659 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 43: COMMENT ON COLUMN customers.invoiceSettings IS 'The customer settings, stored as a JSON InvoiceSettings object'
18:54:17.659 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 44: COMMENT ON COLUMN customers.metadata IS 'The customer metadata, stored as a JSON object (undefined as of yet)'
18:54:17.659 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 45: COMMENT ON COLUMN customers.givenName IS 'The customer given name'
18:54:17.659 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 46: COMMENT ON COLUMN customers.surName IS 'The customer surname'
18:54:17.659 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 47: COMMENT ON COLUMN customers.phone IS 'The customer phone'
18:54:17.659 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.4__Create_Products_Table.sql ...
18:54:17.660 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the products table
CREATE SEQUENCE products_id_seq
18:54:17.660 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS products (
    id integer DEFAULT nextval('products_id_seq') PRIMARY KEY,
    object text NOT NULL,
    active boolean,
    amount integer NOT NULL,
    name text,
    caption text,
    currency text NOT NULL,
    description text,
    interval text NOT NULL,
    created timestamp with time zone,
    statementDescriptor text,
    type text,
    unitLabel text,
    url text,
    metadata json
)
18:54:17.660 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 24: ALTER SEQUENCE products_id_seq OWNED BY products.id
18:54:17.660 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 26: CREATE INDEX products_active_idx ON products USING btree(active)
18:54:17.660 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 27: CREATE INDEX products_name_idx ON products USING btree(name)
18:54:17.660 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 28: CREATE INDEX products_caption_idx ON products USING btree(caption)
18:54:17.660 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: CREATE INDEX products_description_idx ON products USING btree(description)
18:54:17.660 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: COMMENT ON TABLE  products IS 'Products that are offered as services.'
18:54:17.661 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: COMMENT ON COLUMN products.id IS 'The unique product identifier'
18:54:17.661 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 33: COMMENT ON COLUMN products.object IS 'The serialized object type, set to "product"'
18:54:17.661 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 34: COMMENT ON COLUMN products.active IS 'The active status for the product, true or false.'
18:54:17.661 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 35: COMMENT ON COLUMN products.amount IS 'The cost amount for the product, in pence of the currency'
18:54:17.661 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 36: COMMENT ON COLUMN products.name IS 'The product name.'
18:54:17.661 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 37: COMMENT ON COLUMN products.caption IS 'The product caption, used for display.'
18:54:17.661 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 38: COMMENT ON COLUMN products.currency IS 'The product currency as a 3-letter ISO currency code.'
18:54:17.661 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 39: COMMENT ON COLUMN products.description IS 'The product general description.'
18:54:17.661 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 40: COMMENT ON COLUMN products.interval IS 'The product payment interval (day, week, month, year).'
18:54:17.661 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 41: COMMENT ON COLUMN products.created IS 'The product creation date.'
18:54:17.661 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 42: COMMENT ON COLUMN products.statementDescriptor IS 'The product statement descriptor used on charge statements.'
18:54:17.661 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 43: COMMENT ON COLUMN products.type IS 'The product type, either service or good.'
18:54:17.661 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 44: COMMENT ON COLUMN products.unitLabel IS 'The product unit label.'
18:54:17.661 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 45: COMMENT ON COLUMN products.url IS 'The product URL used for more information.'
18:54:17.661 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 46: COMMENT ON COLUMN products.metadata IS 'The product metadata JSON object, currently a feature list.'
18:54:17.662 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.5__Insert_Standard_Products.sql ...
18:54:17.663 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 3: --- Individual Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    32000,
    'Faculty or research lab',
    now(),
    'USD',
    'Create a customized portal for your work and projects. Help others understand and access your data.',
    'year',
    'Individual',
    'DataONE Membership Plan - Individual',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "1","hardLimit": "1","totalUsage": "0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:17.664 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 24: --- Small Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    200000,
    'Small institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Small Organization',
    'DataONE Membership Plan - Small Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "5","hardLimit": "5","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:17.665 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 44: --- Medium Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    600000,
    'Medium institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Medium Organization',
    'DataONE Membership Plan - Medium Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "15","hardLimit": "15","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:17.666 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 64: --- Large Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    2800000,
    'Large institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Large Organization',
    'DataONE Membership Plan - Large Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "branded_portal","softLimit": "50","hardLimit": "50","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:17.667 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 84: -- Hosted Repository
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    'true',
    1200000,
    'A dedicated repository solution for your group or institution’s data, managed by DataONE',
    now(),
    'USD',
    'Bring the products of your research lab, field station, or library together in a centralized location for efficient sharing, access, and reuse. Accelerate research activity, foster new collaborations, and build community with a repository that meets your needs and reflects your brand.',
    'year',
    'DataONE Hosted Repository',
    'DataONE Hosted Repository',
    'service',
    'repository',
    'https://products.dataone.org/hostedrepo',
    '{"features": [{"name": "trusted_data_repository","label": "A Trusted Data Repository","description": "Preserve and share your data, software, and derived products in a dedicated repository system. Built on our robust and expertly managed repository software and hardware, your research products are safely inactive and easily accessible."},{"name": "individual_fair_Assessments","label": "Individual FAIR Assessments","description": "Evaluate your metadata with community established FAIR principles. Scores are refreshed with updates to your metadata, helping make your data even more Findable, Accessible, Interoperable, and Reusable."},{"name": "powerful_online_submission","label": "Powerful Online Submission","description": "The user friendly data submission tool helps your researchers efficiently upload and describe their data. Users can easily create detailed metadata to enhance interoperability, reusability, and value of data."},{"name": "comprehensive_search","label": "Comprehensive Search","description": "Quickly find data with detailed search filters, or by navigating the interactive map."},{"name": "usage_metrics","label": "Usage Metrics","description": "Understand how your data are being used over time with view, download, and citation metrics."},{"name": "usage_metrics","label": "Usage Metrics","description": "Understand how your data are being used over time with view, download, and citation metrics."},{"name": "expandable_storage","label": "Expandable Storage","description": "Grow your repository capacity based on your storage needs in 1 TB increments.","quota": {"object": "quota","quotaType": "repository_storage","softLimit": 1048576,"hardLimit": 1153434,"totalUsage": 0,"unit": "portal"}},{"name": "geographic_replicas","label": "Geographic Replicas","description": "Your data are replicated to distinct geographic regions for high availability and preservation."},{"name": "api_access","label": "API Access","description": "Programmatically work with your repository through the DataONE tools in R, Python, Matlab, and Java."},{"name": "link_data_and_software","label": "Link data and Software","description": "Easily show how your files relate to each other by providing well-described provenance workflows."},{"name": "private_and_public_access","label": "Private and Public Access","description": "Control access to your datasets\nprior to publication with private groups or just yourself."},{"name": "private_and_public_access","label": "Private and Public Access","description": "Control access to your datasets\nprior to publication with private groups or just yourself."},{"name": "any_file_format","label": "Any File Format","description": "Use the scientific file formats for your community: image, tabular, text, audio, video, and others."},{"name": "share_when_ready","label": "Share When Ready","description": "Keep your dataset private while you document it thoroughly, and then make it public when you are ready."}]}'
)
18:54:17.668 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 104: -- Archival Storage
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    'true',
    126000,
    'Additional High Availability Data Storage',
    now(),
    'USD',
    'Increase the available storage in your dedicated hosted repository in 1 TB increments.',
    'year',
    'Additional Data Storage',
    'Additional Data Storage',
    'service',
    'storage',
    'https://products.dataone.org/hostedrepo',
    '{}'
)
18:54:17.669 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.6__Create_Orders_Table.sql ...
18:54:17.669 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the orders table
CREATE SEQUENCE orders_id_seq
18:54:17.670 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS orders (
    id integer DEFAULT nextval('orders_id_seq') PRIMARY KEY,
    object text NOT NULL,
    amount integer,
    amountReturned integer,
    charge json,
    created timestamp with time zone,
    currency text,
    customer integer,
    subject text,
    email text,
    items json,
    metadata json,
    name text,
    status text,
    statusTransitions json,
    updated timestamp with time zone,
    seriesId text,
    startDate timestamp with time zone,
    endDate timestamp with time zone
)
18:54:17.670 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: CREATE INDEX orders_customer_idx ON orders USING btree(customer)
18:54:17.670 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 30: CREATE INDEX orders_subject_idx ON orders USING btree(subject)
18:54:17.670 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: CREATE INDEX orders_email_idx ON orders USING btree(email)
18:54:17.670 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: CREATE INDEX orders_status_idx ON orders USING btree(status)
18:54:17.670 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 34: COMMENT ON TABLE  orders IS 'Orders of products by customers.'
18:54:17.670 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 35: COMMENT ON COLUMN orders.id IS 'The unique order identifier.'
18:54:17.670 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 36: COMMENT ON COLUMN orders.object IS 'The serialized object type, set to "order".'
18:54:17.670 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 37: COMMENT ON COLUMN orders.amount IS 'The order amount in the smallest unit of the currency.'
18:54:17.670 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 38: COMMENT ON COLUMN orders.amountReturned IS 'The order amount returned in the smallest unit of the currency.'
18:54:17.670 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 39: COMMENT ON COLUMN orders.charge IS 'The order transaction charge JSON object.'
18:54:17.671 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 40: COMMENT ON COLUMN orders.created IS 'The order creation date.'
18:54:17.671 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 41: COMMENT ON COLUMN orders.currency IS 'The order currency code.'
18:54:17.671 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 42: COMMENT ON COLUMN orders.customer IS 'The order customer identifier.'
18:54:17.671 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 43: COMMENT ON COLUMN orders.subject IS 'The order user or group subject identifier.'
18:54:17.671 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 44: COMMENT ON COLUMN orders.email IS 'The order customer email.'
18:54:17.671 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 45: COMMENT ON COLUMN orders.items IS 'The order items list JSON object.'
18:54:17.671 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 46: COMMENT ON COLUMN orders.metadata IS 'The order metadata JSON object.'
18:54:17.671 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 47: COMMENT ON COLUMN orders.name IS 'The order name set by the customer.'
18:54:17.671 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 48: COMMENT ON COLUMN orders.status IS 'The order status (created, paid, canceled, fulfilled, returned.'
18:54:17.671 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 49: COMMENT ON COLUMN orders.statusTransitions IS 'The order status/date transitions JSON object'
18:54:17.671 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 50: COMMENT ON COLUMN orders.updated IS 'The order update date.'
18:54:17.671 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 51: COMMENT ON COLUMN orders.seriesId IS 'The order series identifier to track renewals.'
18:54:17.671 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 52: COMMENT ON COLUMN orders.startDate IS 'The order services start date.'
18:54:17.671 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 53: COMMENT ON COLUMN orders.endDate IS 'The order services end date.'
18:54:17.672 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.7__Alter_Quotas_Add_Order_FK.sql ...
18:54:17.672 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Add the order id foreign key constraint
ALTER TABLE quotas
    ADD CONSTRAINT quotas_order_id_fk
    FOREIGN KEY (orderId) REFERENCES orders (id) ON DELETE CASCADE
18:54:17.672 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.8__Alter_Orders_Add_Customer_FK.sql ...
18:54:17.673 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Add the customer id foreign key constraint
ALTER TABLE orders
    ADD CONSTRAINT orders_customer_id_fk
    FOREIGN KEY (customer) REFERENCES customers (id) ON DELETE CASCADE
18:54:17.673 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing V1.9__Create_Usages_Table.sql ...
18:54:17.673 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 4: --- Create the usages table
CREATE SEQUENCE IF NOT EXISTS usages_id_seq
18:54:17.674 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 7: CREATE TABLE IF NOT EXISTS usages (
    id integer DEFAULT nextval('usages_id_seq') PRIMARY KEY,
    object text NOT NULL,
    quotaId integer NOT NULL,
    instanceId text NOT NULL,
    quantity double precision NOT NULL,
    status text,
    nodeId text NOT NULL
)
18:54:17.674 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 16: ALTER SEQUENCE usages_id_seq OWNED BY usages.id
18:54:17.674 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 18: CREATE INDEX usages_quotaId_idx ON usages USING btree(quotaId)
18:54:17.674 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 19: CREATE INDEX usages_instanceId_idx ON usages USING btree(instanceId)
18:54:17.674 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 21: ALTER TABLE usages
    ADD CONSTRAINT usages_quotas_id_fk
    FOREIGN KEY (quotaId) REFERENCES quotas (id) ON DELETE CASCADE
18:54:17.674 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 25: COMMENT ON TABLE  usages IS 'Usages records each instance a portion of a quota is used.'
18:54:17.674 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 26: COMMENT ON COLUMN usages.id IS 'The unique usage identifier.'
18:54:17.674 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 27: COMMENT ON COLUMN usages.object IS 'The serialized object type, set to "usage".'
18:54:17.674 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 28: COMMENT ON COLUMN usages.quotaId IS 'The quota identifier.'
18:54:17.674 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: COMMENT ON COLUMN usages.instanceId IS 'The instance identifier using a portion of the quota.'
18:54:17.674 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 30: COMMENT ON COLUMN usages.quantity IS 'The quantity used by the instance, in the quota units.'
18:54:17.674 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: COMMENT ON COLUMN usages.status IS 'The status of the usage, active or inactive.'
18:54:17.674 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 32: COMMENT ON COLUMN usages.nodeId IS 'The quota node identifier".'
18:54:17.675 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.0__Create_Bookkeeper_Database.sql (filename: V1.0__Create_Bookkeeper_Database.sql)
18:54:17.675 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.10__Create_Function_Update_Quota_Table_Usage.sql (filename: V1.10__Create_Function_Update_Quota_Table_Usage.sql)
18:54:17.675 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.11__Alter_Usages_Add_Unique_Constraint.sql (filename: V1.11__Alter_Usages_Add_Unique_Constraint.sql)
18:54:17.675 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql (filename: V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql)
18:54:17.675 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.1__Create_Quotas_Table.sql (filename: V1.1__Create_Quotas_Table.sql)
18:54:17.675 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.2__Insert_Standard_Quotas.sql (filename: V1.2__Insert_Standard_Quotas.sql)
18:54:17.675 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.3__Create_Customers_Table.sql (filename: V1.3__Create_Customers_Table.sql)
18:54:17.675 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.4__Create_Products_Table.sql (filename: V1.4__Create_Products_Table.sql)
18:54:17.675 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.5__Insert_Standard_Products.sql (filename: V1.5__Insert_Standard_Products.sql)
18:54:17.675 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.6__Create_Orders_Table.sql (filename: V1.6__Create_Orders_Table.sql)
18:54:17.675 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.7__Alter_Quotas_Add_Order_FK.sql (filename: V1.7__Alter_Quotas_Add_Order_FK.sql)
18:54:17.675 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.8__Alter_Orders_Add_Customer_FK.sql (filename: V1.8__Alter_Orders_Add_Customer_FK.sql)
18:54:17.675 [main] DEBUG org.flywaydb.core.internal.scanner.Scanner - Filtering out resource: db/migrations/V1.9__Create_Usages_Table.sql (filename: V1.9__Create_Usages_Table.sql)
18:54:17.676 [main] INFO org.flywaydb.core.internal.command.DbValidate - Successfully validated 13 migrations (execution time 00:00.027s)
18:54:17.676 [main] DEBUG org.flywaydb.core.internal.command.DbSchemas - Schema "public" already exists. Skipping schema creation.
18:54:17.681 [main] INFO org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Creating Schema History table: "public"."flyway_schema_history"
18:54:17.681 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Parsing createMetaDataTable.sql ...
18:54:17.683 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 17: CREATE TABLE "public"."flyway_schema_history" (
    "installed_rank" INT NOT NULL,
    "version" VARCHAR(50),
    "description" VARCHAR(200) NOT NULL,
    "type" VARCHAR(20) NOT NULL,
    "script" VARCHAR(1000) NOT NULL,
    "checksum" INTEGER,
    "installed_by" VARCHAR(100) NOT NULL,
    "installed_on" TIMESTAMP NOT NULL DEFAULT now(),
    "execution_time" INTEGER NOT NULL,
    "success" BOOLEAN NOT NULL
)
18:54:17.683 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 29: ALTER TABLE "public"."flyway_schema_history" ADD CONSTRAINT "flyway_schema_history_pk" PRIMARY KEY ("installed_rank")
18:54:17.683 [main] DEBUG org.flywaydb.core.internal.sqlscript.SqlScript - Found statement at line 31: CREATE INDEX "flyway_schema_history_s_idx" ON "public"."flyway_schema_history" ("success")
18:54:17.683 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE "public"."flyway_schema_history" (
    "installed_rank" INT NOT NULL,
    "version" VARCHAR(50),
    "description" VARCHAR(200) NOT NULL,
    "type" VARCHAR(20) NOT NULL,
    "script" VARCHAR(1000) NOT NULL,
    "checksum" INTEGER,
    "installed_by" VARCHAR(100) NOT NULL,
    "installed_on" TIMESTAMP NOT NULL DEFAULT now(),
    "execution_time" INTEGER NOT NULL,
    "success" BOOLEAN NOT NULL
)
18:54:17.686 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.686 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER TABLE "public"."flyway_schema_history" ADD CONSTRAINT "flyway_schema_history_pk" PRIMARY KEY ("installed_rank")
18:54:17.687 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.687 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX "flyway_schema_history_s_idx" ON "public"."flyway_schema_history" ("success")
18:54:17.687 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.687 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Created Schema History table: "public"."flyway_schema_history"
18:54:17.692 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Current version of schema "public": << Empty Schema >>
18:54:17.692 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.0 - Create Bookkeeper Database
18:54:17.692 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.0 - Create Bookkeeper Database
18:54:17.693 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:17.695 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.1 - Create Quotas Table
18:54:17.695 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the quotas table
CREATE SEQUENCE IF NOT EXISTS quotas_id_seq
18:54:17.696 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.696 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS quotas (
    id integer DEFAULT nextval('quotas_id_seq') PRIMARY KEY,
    object text NOT NULL,
    quotaType text NOT NULL,
    softLimit double precision NOT NULL,
    hardLimit double precision NOT NULL,
    totalUsage double precision,
    unit text NOT NULL,
    orderId integer,
    subject text,
    name text
)
18:54:17.697 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.697 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER SEQUENCE quotas_id_seq OWNED BY quotas.id
18:54:17.698 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.698 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX quotas_quotaType_idx ON quotas USING btree(quotaType)
18:54:17.698 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.698 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX quotas_orderId_idx ON quotas USING btree(orderId)
18:54:17.699 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.699 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX quotas_subject_idx ON quotas USING btree(subject)
18:54:17.699 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.699 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE quotas IS 'Quotas limiting resources for products per customer. Quotas may be associated with products or customers by their ids.'
18:54:17.700 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.700 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.id IS 'The unique quota identifier'
18:54:17.700 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.700 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.object IS 'The serialized object type, set to "quota"'
18:54:17.700 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.700 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.quotaType IS 'The quota type'
18:54:17.700 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.700 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.softLimit IS 'The soft limit of the resource.'
18:54:17.700 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.700 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.hardLimit IS 'The hard limit of the resource.'
18:54:17.700 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.701 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.totalUsage IS 'The current observed total usage of the quota.'
18:54:17.701 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.701 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.unit IS 'The named unit of the quota.'
18:54:17.701 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.701 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.orderId IS 'The order id to which the quota is applied.'
18:54:17.701 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.701 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.subject IS 'The subject identifier to which the quota is applied.'
18:54:17.701 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.701 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN quotas.name IS 'The quota name, copied from the order name.'
18:54:17.701 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.701 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.1 - Create Quotas Table
18:54:17.702 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:17.703 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.2 - Insert Standard Quotas
18:54:17.704 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- 1GB base storage limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'storage', 1073741824.0, 1181116006.4, NULL, 'byte', NULL, NULL)
18:54:17.705 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:17.705 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- 1TB base hosted repository storage limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'repository_storage', 1099511627776.0, 1209462790553.6, NULL, 'byte', NULL,
    NULL)
18:54:17.705 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:17.705 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- Single base branded portal limit
INSERT INTO quotas (object, quotaType, softLimit, hardLimit, totalUsage, unit, orderId, subject)
    VALUES ('quota', 'portal', 1.0, 1.0, NULL, 'portal', NULL, NULL)
18:54:17.705 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:17.705 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.2 - Insert Standard Quotas
18:54:17.706 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:17.707 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.3 - Create Customers Table
18:54:17.707 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the customers table
CREATE SEQUENCE customers_id_seq
18:54:17.708 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.708 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS customers (
    id integer DEFAULT nextval('customers_id_seq') PRIMARY KEY,
    object text NOT NULL,
    subject text NOT NULL,
    balance integer,
    address json,
    created timestamp with time zone,
    currency text,
    delinquent boolean,
    description text,
    discount json,
    email text,
    invoicePrefix text,
    invoiceSettings json,
    metadata json,
    givenName text,
    surName text,
    phone text
)
18:54:17.709 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.710 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER SEQUENCE customers_id_seq OWNED BY customers.id
18:54:17.710 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.710 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX customers_subject_idx ON customers USING btree(subject)
18:54:17.710 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.710 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX customers_email_idx ON customers USING btree(email)
18:54:17.711 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.711 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE customers IS 'Customers that have ordered products and have quotas.'
18:54:17.711 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.711 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.id IS 'The unique customer identifier.'
18:54:17.711 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.711 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.object IS 'The serialized object type, set to "customer".'
18:54:17.711 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.711 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.subject IS 'The unique customer Subject identifier.'
18:54:17.711 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.711 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.balance IS 'The customer balance, in the smallest unit of the currency (i.e. USD cents).'
18:54:17.712 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.712 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.address IS 'The customer address, stored as a JSON address object.'
18:54:17.712 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.712 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.created IS 'The customer creation date.'
18:54:17.712 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.712 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.currency IS 'The customer currency, defaults to "USD".'
18:54:17.712 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.712 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.delinquent IS 'The customer delinquency status, true or false'
18:54:17.712 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.712 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.description IS 'The customer description'
18:54:17.712 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.712 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.discount IS 'The customer discount, stored as a JSON Discount object.'
18:54:17.712 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.712 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.email IS 'The customer email address.'
18:54:17.713 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.713 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.invoicePrefix IS 'The customer invoice prefix'
18:54:17.713 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.713 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.invoiceSettings IS 'The customer settings, stored as a JSON InvoiceSettings object'
18:54:17.713 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.713 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.metadata IS 'The customer metadata, stored as a JSON object (undefined as of yet)'
18:54:17.713 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.713 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.givenName IS 'The customer given name'
18:54:17.713 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.713 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.surName IS 'The customer surname'
18:54:17.713 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.713 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN customers.phone IS 'The customer phone'
18:54:17.714 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.714 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.3 - Create Customers Table
18:54:17.714 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:17.715 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.4 - Create Products Table
18:54:17.716 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the products table
CREATE SEQUENCE products_id_seq
18:54:17.716 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.716 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS products (
    id integer DEFAULT nextval('products_id_seq') PRIMARY KEY,
    object text NOT NULL,
    active boolean,
    amount integer NOT NULL,
    name text,
    caption text,
    currency text NOT NULL,
    description text,
    interval text NOT NULL,
    created timestamp with time zone,
    statementDescriptor text,
    type text,
    unitLabel text,
    url text,
    metadata json
)
18:54:17.718 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.718 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER SEQUENCE products_id_seq OWNED BY products.id
18:54:17.718 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.718 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX products_active_idx ON products USING btree(active)
18:54:17.718 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.718 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX products_name_idx ON products USING btree(name)
18:54:17.719 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.719 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX products_caption_idx ON products USING btree(caption)
18:54:17.719 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.719 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX products_description_idx ON products USING btree(description)
18:54:17.719 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.719 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE  products IS 'Products that are offered as services.'
18:54:17.719 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.720 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.id IS 'The unique product identifier'
18:54:17.720 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.720 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.object IS 'The serialized object type, set to "product"'
18:54:17.720 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.720 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.active IS 'The active status for the product, true or false.'
18:54:17.720 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.720 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.amount IS 'The cost amount for the product, in pence of the currency'
18:54:17.720 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.720 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.name IS 'The product name.'
18:54:17.720 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.720 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.caption IS 'The product caption, used for display.'
18:54:17.721 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.721 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.currency IS 'The product currency as a 3-letter ISO currency code.'
18:54:17.721 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.721 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.description IS 'The product general description.'
18:54:17.721 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.721 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.interval IS 'The product payment interval (day, week, month, year).'
18:54:17.721 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.721 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.created IS 'The product creation date.'
18:54:17.721 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.721 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.statementDescriptor IS 'The product statement descriptor used on charge statements.'
18:54:17.721 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.721 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.type IS 'The product type, either service or good.'
18:54:17.721 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.722 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.unitLabel IS 'The product unit label.'
18:54:17.722 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.722 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.url IS 'The product URL used for more information.'
18:54:17.722 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.722 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN products.metadata IS 'The product metadata JSON object, currently a feature list.'
18:54:17.722 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.722 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.4 - Create Products Table
18:54:17.723 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:17.724 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.5 - Insert Standard Products
18:54:17.725 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Individual Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    32000,
    'Faculty or research lab',
    now(),
    'USD',
    'Create a customized portal for your work and projects. Help others understand and access your data.',
    'year',
    'Individual',
    'DataONE Membership Plan - Individual',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "1","hardLimit": "1","totalUsage": "0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:17.725 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:17.725 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Small Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    200000,
    'Small institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Small Organization',
    'DataONE Membership Plan - Small Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "5","hardLimit": "5","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:17.726 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:17.726 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Medium Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    600000,
    'Medium institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Medium Organization',
    'DataONE Membership Plan - Medium Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "portal","softLimit": "15","hardLimit": "15","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:17.726 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:17.726 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Large Organization Membership
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    true,
    2800000,
    'Large institutions or groups',
    now(),
    'USD',
    'Create multiple portals for your work and projects. Help others understand and access your data.',
    'year',
    'Large Organization',
    'DataONE Membership Plan - Large Organization',
    'service',
    'membership',
    'https://products.dataone.org/plus',
    '{"features": [{"name": "branded_portal","label": "Branded Portals","description": "Showcase your research, data, results, and usage metrics by building a custom web portal.","quota": {"object": "quota","quotaType": "branded_portal","softLimit": "50","hardLimit": "50","totalUsage":"0","unit": "portal"}},{"name": "custom_search_filters","label": "Custom Search Filters","description": "Create custom search filters in your portal to allow scientists to search your holdings using filters appropriate to your field of science."},{"name": "fair_data_assessment","label": "FAIR Data Assessments","description": "Access quality metric reports using the FAIR data suite of checks."},{"name": "custom_quality_service","label": "Custom Quality Metrics","description": "Create a suite of custom quality metadata checks specific to your datasets."},{"name": "aggregated_metrics","label": "Aggregated Metrics","description": "Access and share reports on aggregated usage metrics such as dataset views, data downloads, and dataset citations."},{"name": "dataone_voting_member","label": "DataONE Voting Member","description": "Vote on the direction and priorities at DataONE Community meetings."}]}'
)
18:54:17.727 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:17.727 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- Hosted Repository
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    'true',
    1200000,
    'A dedicated repository solution for your group or institution’s data, managed by DataONE',
    now(),
    'USD',
    'Bring the products of your research lab, field station, or library together in a centralized location for efficient sharing, access, and reuse. Accelerate research activity, foster new collaborations, and build community with a repository that meets your needs and reflects your brand.',
    'year',
    'DataONE Hosted Repository',
    'DataONE Hosted Repository',
    'service',
    'repository',
    'https://products.dataone.org/hostedrepo',
    '{"features": [{"name": "trusted_data_repository","label": "A Trusted Data Repository","description": "Preserve and share your data, software, and derived products in a dedicated repository system. Built on our robust and expertly managed repository software and hardware, your research products are safely inactive and easily accessible."},{"name": "individual_fair_Assessments","label": "Individual FAIR Assessments","description": "Evaluate your metadata with community established FAIR principles. Scores are refreshed with updates to your metadata, helping make your data even more Findable, Accessible, Interoperable, and Reusable."},{"name": "powerful_online_submission","label": "Powerful Online Submission","description": "The user friendly data submission tool helps your researchers efficiently upload and describe their data. Users can easily create detailed metadata to enhance interoperability, reusability, and value of data."},{"name": "comprehensive_search","label": "Comprehensive Search","description": "Quickly find data with detailed search filters, or by navigating the interactive map."},{"name": "usage_metrics","label": "Usage Metrics","description": "Understand how your data are being used over time with view, download, and citation metrics."},{"name": "usage_metrics","label": "Usage Metrics","description": "Understand how your data are being used over time with view, download, and citation metrics."},{"name": "expandable_storage","label": "Expandable Storage","description": "Grow your repository capacity based on your storage needs in 1 TB increments.","quota": {"object": "quota","quotaType": "repository_storage","softLimit": 1048576,"hardLimit": 1153434,"totalUsage": 0,"unit": "portal"}},{"name": "geographic_replicas","label": "Geographic Replicas","description": "Your data are replicated to distinct geographic regions for high availability and preservation."},{"name": "api_access","label": "API Access","description": "Programmatically work with your repository through the DataONE tools in R, Python, Matlab, and Java."},{"name": "link_data_and_software","label": "Link data and Software","description": "Easily show how your files relate to each other by providing well-described provenance workflows."},{"name": "private_and_public_access","label": "Private and Public Access","description": "Control access to your datasets\nprior to publication with private groups or just yourself."},{"name": "private_and_public_access","label": "Private and Public Access","description": "Control access to your datasets\nprior to publication with private groups or just yourself."},{"name": "any_file_format","label": "Any File Format","description": "Use the scientific file formats for your community: image, tabular, text, audio, video, and others."},{"name": "share_when_ready","label": "Share When Ready","description": "Keep your dataset private while you document it thoroughly, and then make it public when you are ready."}]}'
)
18:54:17.728 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:17.728 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: -- Archival Storage
INSERT INTO products (object, active, amount, caption, created, currency, description,
    interval, name, statementDescriptor, type, unitLabel, url, metadata)
VALUES (
    'product',
    'true',
    126000,
    'Additional High Availability Data Storage',
    now(),
    'USD',
    'Increase the available storage in your dedicated hosted repository in 1 TB increments.',
    'year',
    'Additional Data Storage',
    'Additional Data Storage',
    'service',
    'storage',
    'https://products.dataone.org/hostedrepo',
    '{}'
)
18:54:17.728 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 1
18:54:17.728 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.5 - Insert Standard Products
18:54:17.729 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:17.730 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.6 - Create Orders Table
18:54:17.730 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the orders table
CREATE SEQUENCE orders_id_seq
18:54:17.731 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.731 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS orders (
    id integer DEFAULT nextval('orders_id_seq') PRIMARY KEY,
    object text NOT NULL,
    amount integer,
    amountReturned integer,
    charge json,
    created timestamp with time zone,
    currency text,
    customer integer,
    subject text,
    email text,
    items json,
    metadata json,
    name text,
    status text,
    statusTransitions json,
    updated timestamp with time zone,
    seriesId text,
    startDate timestamp with time zone,
    endDate timestamp with time zone
)
18:54:17.732 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.732 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX orders_customer_idx ON orders USING btree(customer)
18:54:17.733 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.733 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX orders_subject_idx ON orders USING btree(subject)
18:54:17.733 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.733 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX orders_email_idx ON orders USING btree(email)
18:54:17.733 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.733 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX orders_status_idx ON orders USING btree(status)
18:54:17.734 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.734 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE  orders IS 'Orders of products by customers.'
18:54:17.734 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.734 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.id IS 'The unique order identifier.'
18:54:17.734 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.734 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.object IS 'The serialized object type, set to "order".'
18:54:17.734 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.734 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.amount IS 'The order amount in the smallest unit of the currency.'
18:54:17.734 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.734 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.amountReturned IS 'The order amount returned in the smallest unit of the currency.'
18:54:17.735 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.735 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.charge IS 'The order transaction charge JSON object.'
18:54:17.735 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.735 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.created IS 'The order creation date.'
18:54:17.735 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.735 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.currency IS 'The order currency code.'
18:54:17.735 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.735 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.customer IS 'The order customer identifier.'
18:54:17.735 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.735 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.subject IS 'The order user or group subject identifier.'
18:54:17.735 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.735 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.email IS 'The order customer email.'
18:54:17.735 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.735 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.items IS 'The order items list JSON object.'
18:54:17.735 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.735 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.metadata IS 'The order metadata JSON object.'
18:54:17.736 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.736 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.name IS 'The order name set by the customer.'
18:54:17.736 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.736 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.status IS 'The order status (created, paid, canceled, fulfilled, returned.'
18:54:17.736 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.736 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.statusTransitions IS 'The order status/date transitions JSON object'
18:54:17.736 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.736 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.updated IS 'The order update date.'
18:54:17.736 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.736 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.seriesId IS 'The order series identifier to track renewals.'
18:54:17.736 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.736 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.startDate IS 'The order services start date.'
18:54:17.736 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.736 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN orders.endDate IS 'The order services end date.'
18:54:17.736 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.736 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.6 - Create Orders Table
18:54:17.737 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:17.738 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.7 - Alter Quotas Add Order FK
18:54:17.739 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Add the order id foreign key constraint
ALTER TABLE quotas
    ADD CONSTRAINT quotas_order_id_fk
    FOREIGN KEY (orderId) REFERENCES orders (id) ON DELETE CASCADE
18:54:17.740 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.740 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.7 - Alter Quotas Add Order FK
18:54:17.741 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:17.742 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.8 - Alter Orders Add Customer FK
18:54:17.743 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Add the customer id foreign key constraint
ALTER TABLE orders
    ADD CONSTRAINT orders_customer_id_fk
    FOREIGN KEY (customer) REFERENCES customers (id) ON DELETE CASCADE
18:54:17.744 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.744 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.8 - Alter Orders Add Customer FK
18:54:17.744 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:17.745 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.9 - Create Usages Table
18:54:17.746 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the usages table
CREATE SEQUENCE IF NOT EXISTS usages_id_seq
18:54:17.746 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.746 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TABLE IF NOT EXISTS usages (
    id integer DEFAULT nextval('usages_id_seq') PRIMARY KEY,
    object text NOT NULL,
    quotaId integer NOT NULL,
    instanceId text NOT NULL,
    quantity double precision NOT NULL,
    status text,
    nodeId text NOT NULL
)
18:54:17.748 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.748 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER SEQUENCE usages_id_seq OWNED BY usages.id
18:54:17.748 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.748 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX usages_quotaId_idx ON usages USING btree(quotaId)
18:54:17.748 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.748 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE INDEX usages_instanceId_idx ON usages USING btree(instanceId)
18:54:17.749 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.749 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: ALTER TABLE usages
    ADD CONSTRAINT usages_quotas_id_fk
    FOREIGN KEY (quotaId) REFERENCES quotas (id) ON DELETE CASCADE
18:54:17.749 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.749 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON TABLE  usages IS 'Usages records each instance a portion of a quota is used.'
18:54:17.750 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.750 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.id IS 'The unique usage identifier.'
18:54:17.750 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.750 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.object IS 'The serialized object type, set to "usage".'
18:54:17.750 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.750 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.quotaId IS 'The quota identifier.'
18:54:17.750 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.750 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.instanceId IS 'The instance identifier using a portion of the quota.'
18:54:17.750 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.750 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.quantity IS 'The quantity used by the instance, in the quota units.'
18:54:17.750 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.750 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.status IS 'The status of the usage, active or inactive.'
18:54:17.751 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.751 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: COMMENT ON COLUMN usages.nodeId IS 'The quota node identifier".'
18:54:17.751 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.751 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.9 - Create Usages Table
18:54:17.751 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:17.752 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.10 - Create Function Update Quota Table Usage
18:54:17.753 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the update quota usage function for inserts and updates
CREATE OR REPLACE FUNCTION update_quota_usage_on_insert_or_update()
    RETURNS trigger
    AS $update_quota_usage_on_insert_or_update$
    BEGIN
        -- Check that quotaId is given
        IF NEW.quotaId IS NULL THEN
            RAISE EXCEPTION 'quotaId cannot be null';
        END IF;

        -- Update the quotas.totalUsage column
        UPDATE quotas q
            SET totalUsage = (SELECT SUM(u.quantity) FROM usages u WHERE u.status != 'inactive' AND u.quotaId = NEW.quotaId)
                WHERE q.id = NEW.quotaId;
        RETURN NEW;
    END;
    $update_quota_usage_on_insert_or_update$
    LANGUAGE plpgsql
18:54:17.755 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.755 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the update quota totalUsage trigger
DROP TRIGGER IF EXISTS update_quotas_usage_on_insert_or_update ON usages
18:54:17.755 [main] INFO org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - DB: trigger "update_quotas_usage_on_insert_or_update" for relation "usages" does not exist, skipping
18:54:17.755 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.755 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TRIGGER update_quotas_usage_on_insert_or_update AFTER INSERT OR UPDATE ON usages
    FOR EACH ROW
        EXECUTE PROCEDURE update_quota_usage_on_insert_or_update()
18:54:17.755 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.755 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the update quota totalUsage function for deletes
CREATE OR REPLACE FUNCTION update_quota_usage_on_delete()
    RETURNS trigger
    AS $update_quota_usage_on_delete$
    BEGIN
        -- Check that quotaId is given
        IF OLD.quotaId IS NULL THEN
            RAISE EXCEPTION 'quotaId cannot be null';
        END IF;

        -- Update the quotas.usage column
        UPDATE quotas q
            SET totalUsage = (SELECT SUM(u.quantity) FROM usages u WHERE u.status != 'inactive' AND u.quotaId = OLD.quotaId)
                WHERE q.id = OLD.quotaId;
        RETURN OLD;
    END;
    $update_quota_usage_on_delete$
    LANGUAGE plpgsql
18:54:17.756 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.756 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Create the update quota totalUsage trigger
DROP TRIGGER IF EXISTS update_quotas_usage_on_delete ON usages
18:54:17.756 [main] INFO org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - DB: trigger "update_quotas_usage_on_delete" for relation "usages" does not exist, skipping
18:54:17.756 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.756 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: CREATE TRIGGER update_quotas_usage_on_delete AFTER DELETE ON usages
    FOR EACH ROW
        EXECUTE PROCEDURE update_quota_usage_on_delete()
18:54:17.756 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.756 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.10 - Create Function Update Quota Table Usage
18:54:17.757 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:17.758 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.11 - Alter Usages Add Unique Constraint
18:54:17.758 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Add a unique constraint to the usage table for the 'quotaid' + 'instanceid' columns
CREATE UNIQUE INDEX usages_quotaid_instanceid_idx
    ON usages USING btree(quotaid,instanceid)
18:54:17.759 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.759 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.11 - Alter Usages Add Unique Constraint
18:54:17.760 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:17.761 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Migrating schema "public" to version 1.12 - Alter Quotas Add Unique Constraint OrderId QuotaType
18:54:17.761 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Executing SQL: --- Add a unique constraint to the quotas table for the orderId and quotaType columns
CREATE UNIQUE INDEX quotas_order_id_quota_type_idx
    ON quotas USING btree(orderId, quotaType)
18:54:17.762 [main] DEBUG org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor - Update Count: 0
18:54:17.762 [main] DEBUG org.flywaydb.core.internal.command.DbMigrate - Successfully completed migration of schema "public" to version 1.12 - Alter Quotas Add Unique Constraint OrderId QuotaType
18:54:17.763 [main] DEBUG org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory - Schema History table "public"."flyway_schema_history" successfully updated to reflect changes
18:54:17.764 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Successfully applied 13 migrations to schema "public" (execution time 00:00.083s)
18:54:17.765 [main] DEBUG org.flywaydb.core.Flyway - Memory usage: 335 of 430M
18:54:17.783 [main] DEBUG org.hibernate.validator.internal.engine.resolver.TraversableResolvers - Cannot find javax.persistence.Persistence on classpath. Assuming non JPA 2 environment. All properties will per default be traversable.
18:54:17.783 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Adding value extractor io.dropwizard.validation.valuehandling.GuavaOptionalValueExtractor@297ea53a
18:54:17.783 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Setting custom ConstraintValidatorFactory of type io.dropwizard.jersey.validation.MutableValidatorFactory
18:54:17.783 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Setting custom ParameterNameProvider of type io.dropwizard.jersey.validation.JerseyParameterNameProvider
18:54:17.783 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Adding value extractor io.dropwizard.jersey.validation.NonEmptyStringParamValueExtractor@3a320ade
18:54:17.783 [main] DEBUG org.hibernate.validator.internal.engine.AbstractConfigurationImpl - Adding value extractor io.dropwizard.jersey.validation.ParamValueExtractor@21005f6c
18:54:17.784 [main] DEBUG org.hibernate.validator.internal.xml.config.ValidationXmlParser - Trying to load META-INF/validation.xml for XML based Validator configuration.
18:54:17.784 [main] DEBUG org.hibernate.validator.internal.xml.config.ResourceLoaderHelper - Trying to load META-INF/validation.xml via TCCL
18:54:17.784 [main] DEBUG org.hibernate.validator.internal.xml.config.ResourceLoaderHelper - Trying to load META-INF/validation.xml via Hibernate Validator's class loader
18:54:17.784 [main] DEBUG org.hibernate.validator.internal.xml.config.ValidationXmlParser - No META-INF/validation.xml found. Using annotation based configuration only.
18:54:17.785 [main] DEBUG org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator - Loaded expression factory via original TCCL
18:54:17.790 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000252: Using org.hibernate.validator.internal.engine.DefaultPropertyNodeNameProvider as property node name provider.
18:54:17.790 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator as ValidatorFactory-scoped message interpolator.
18:54:17.790 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.internal.engine.resolver.TraverseAllTraversableResolver as ValidatorFactory-scoped traversable resolver.
18:54:17.790 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.internal.util.ExecutableParameterNameProvider as ValidatorFactory-scoped parameter name provider.
18:54:17.790 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.internal.engine.DefaultClockProvider as ValidatorFactory-scoped clock provider.
18:54:17.790 [main] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryConfigurationHelper - HV000234: Using org.hibernate.validator.internal.engine.scripting.DefaultScriptEvaluatorFactory as ValidatorFactory-scoped script evaluator factory.
18:54:17.791 [main] DEBUG org.eclipse.jetty.util.DecoratedObjectFactory - Adding Decorator: org.eclipse.jetty.util.DeprecationWarning@3e2772a9
18:54:17.792 [main] DEBUG org.eclipse.jetty.util.component.ContainerLifeCycle - i.d.j.MutableServletContextHandler@4449b273{/,null,UNAVAILABLE} added {ServletHandler@1fa18f87{STOPPED},MANAGED}
18:54:17.792 [main] DEBUG org.eclipse.jetty.util.DecoratedObjectFactory - Adding Decorator: org.eclipse.jetty.util.DeprecationWarning@1d9bd1d6
18:54:17.792 [main] DEBUG org.eclipse.jetty.util.component.ContainerLifeCycle - i.d.j.MutableServletContextHandler@18ac4af6{/,null,UNAVAILABLE} added {ServletHandler@117fb9ba{STOPPED},MANAGED}
18:54:17.808 [main] DEBUG org.flywaydb.core.Flyway - DDL Transactions Supported: true
18:54:17.809 [main] DEBUG org.flywaydb.core.Flyway - Schema: public
18:54:17.809 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning for classpath resources at 'classpath:db/migrations' ...
18:54:17.809 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Determining location urls for classpath:db/migrations using ClassLoader sun.misc.Launcher$AppClassLoader@7f31245a ...
18:54:17.809 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning URL: file:/var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/db/migrations
18:54:17.809 [main] DEBUG org.flywaydb.core.internal.util.FeatureDetector - JBoss VFS v2 available: false
18:54:17.809 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.FileSystemClassPathLocationScanner - Scanning starting at classpath root in filesystem: /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/
18:54:17.809 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.FileSystemClassPathLocationScanner - Scanning for resources in path: /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/classes/db/migrations (db/migrations)
18:54:17.809 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.0__Create_Bookkeeper_Database.sql
18:54:17.809 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.10__Create_Function_Update_Quota_Table_Usage.sql
18:54:17.809 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.11__Alter_Usages_Add_Unique_Constraint.sql
18:54:17.809 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.12__Alter_Quotas_Add_Unique_Constraint_OrderId_QuotaType.sql
18:54:17.809 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.1__Create_Quotas_Table.sql
18:54:17.809 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.2__Insert_Standard_Quotas.sql
18:54:17.810 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.3__Create_Customers_Table.sql
18:54:17.810 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.4__Create_Products_Table.sql
18:54:17.810 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.5__Insert_Standard_Products.sql
18:54:17.810 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.6__Create_Orders_Table.sql
18:54:17.810 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.7__Alter_Quotas_Add_Order_FK.sql
18:54:17.810 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.8__Alter_Orders_Add_Customer_FK.sql
18:54:17.810 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Found resource: db/migrations/V1.9__Create_Usages_Table.sql
18:54:17.810 [main] DEBUG org.flywaydb.core.internal.scanner.classpath.ClassPathScanner - Scanning for classes at classpath:db/migrations
18:54:17.810 [main] DEBUG org.flywaydb.core.internal.callback.SqlScriptCallbackFactory - Scanning for SQL callbacks ...
18:54:17.810 [main] DEBUG org.flywaydb.core.internal.util.FeatureDetector - Spring Jdbc available: false
18:54:17.814 [main] DEBUG org.flywaydb.core.internal.command.DbClean - Cleaning schema "public" ...
18:54:17.835 [main] INFO org.flywaydb.core.internal.command.DbClean - Successfully cleaned schema "public" (execution time 00:00.020s)
18:54:17.835 [main] DEBUG org.flywaydb.core.Flyway - Memory usage: 21 of 429M
18:54:17.837 [log:pid(19951)] INFO pg-fc86408e-e2e4-427c-b140-e91c25965f87 - 2020-10-28 18:54:17.837 UTC [19955] LOG:  received fast shutdown request
18:54:17.937 [log:pid(19970)] INFO init-fc86408e-e2e4-427c-b140-e91c25965f87:pg_ctl - waiting for server to shut down.... done
18:54:17.938 [log:pid(19970)] INFO init-fc86408e-e2e4-427c-b140-e91c25965f87:pg_ctl - server stopped
18:54:17.938 [main] INFO com.opentable.db.postgres.embedded.EmbeddedPostgres - fc86408e-e2e4-427c-b140-e91c25965f87 shut down postmaster in 00:00:00.102
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.924 s - in org.dataone.bookkeeper.EmbeddedPostgresqlTest
[INFO] 
[INFO] Results:
[INFO] 
[INFO] Tests run: 64, Failures: 0, Errors: 0, Skipped: 0
[INFO] 
[JENKINS] Recording test results
[INFO] 
[INFO] --- maven-jar-plugin:3.1.2:jar (default-jar) @ bookkeeper ---
[INFO] Building jar: /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/bookkeeper-0.1.0-SNAPSHOT.jar
[INFO] 
[INFO] --- maven-shade-plugin:3.2.1:shade (default) @ bookkeeper ---
[INFO] Including io.dropwizard:dropwizard-core:jar:2.0.0 in the shaded jar.
[INFO] Including io.dropwizard:dropwizard-util:jar:2.0.0 in the shaded jar.
[INFO] Including com.fasterxml.jackson.core:jackson-annotations:jar:2.10.1 in the shaded jar.
[INFO] Including com.google.guava:guava:jar:28.1-jre in the shaded jar.
[INFO] Including com.google.guava:failureaccess:jar:1.0.1 in the shaded jar.
[INFO] Including com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava in the shaded jar.
[INFO] Including com.google.j2objc:j2objc-annotations:jar:1.3 in the shaded jar.
[INFO] Including org.codehaus.mojo:animal-sniffer-annotations:jar:1.18 in the shaded jar.
[INFO] Including com.google.code.findbugs:jsr305:jar:3.0.2 in the shaded jar.
[INFO] Including joda-time:joda-time:jar:2.10.5 in the shaded jar.
[INFO] Including io.dropwizard:dropwizard-jackson:jar:2.0.0 in the shaded jar.
[INFO] Including com.fasterxml.jackson.core:jackson-core:jar:2.10.1 in the shaded jar.
[INFO] Including com.fasterxml.jackson.core:jackson-databind:jar:2.10.1 in the shaded jar.
[INFO] Including com.fasterxml.jackson.datatype:jackson-datatype-guava:jar:2.10.1 in the shaded jar.
[INFO] Including com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.10.1 in the shaded jar.
[INFO] Including com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.10.1 in the shaded jar.
[INFO] Including com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.10.1 in the shaded jar.
[INFO] Including com.fasterxml.jackson.module:jackson-module-afterburner:jar:2.10.1 in the shaded jar.
[INFO] Including com.fasterxml.jackson.datatype:jackson-datatype-joda:jar:2.10.1 in the shaded jar.
[INFO] Including io.dropwizard:dropwizard-validation:jar:2.0.0 in the shaded jar.
[INFO] Including org.hibernate.validator:hibernate-validator:jar:6.1.0.Final in the shaded jar.
[INFO] Including jakarta.validation:jakarta.validation-api:jar:2.0.2 in the shaded jar.
[INFO] Including org.jboss.logging:jboss-logging:jar:3.3.2.Final in the shaded jar.
[INFO] Including com.fasterxml:classmate:jar:1.3.4 in the shaded jar.
[INFO] Including org.glassfish:jakarta.el:jar:3.0.3 in the shaded jar.
[INFO] Including org.javassist:javassist:jar:3.26.0-GA in the shaded jar.
[INFO] Including io.dropwizard:dropwizard-configuration:jar:2.0.0 in the shaded jar.
[INFO] Including com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:jar:2.10.1 in the shaded jar.
[INFO] Including org.yaml:snakeyaml:jar:1.24 in the shaded jar.
[INFO] Including org.apache.commons:commons-text:jar:1.8 in the shaded jar.
[INFO] Including io.dropwizard:dropwizard-logging:jar:2.0.0 in the shaded jar.
[INFO] Including io.dropwizard.metrics:metrics-logback:jar:4.1.2 in the shaded jar.
[INFO] Including org.slf4j:jul-to-slf4j:jar:1.7.29 in the shaded jar.
[INFO] Including ch.qos.logback:logback-core:jar:1.2.3 in the shaded jar.
[INFO] Including ch.qos.logback:logback-classic:jar:1.2.3 in the shaded jar.
[INFO] Including io.dropwizard.logback:logback-throttling-appender:jar:1.1.0 in the shaded jar.
[INFO] Including org.slf4j:log4j-over-slf4j:jar:1.7.29 in the shaded jar.
[INFO] Including org.eclipse.jetty:jetty-util:jar:9.4.24.v20191120 in the shaded jar.
[INFO] Including io.dropwizard:dropwizard-metrics:jar:2.0.0 in the shaded jar.
[INFO] Including io.dropwizard:dropwizard-jersey:jar:2.0.0 in the shaded jar.
[INFO] Including org.glassfish.jersey.core:jersey-server:jar:2.29.1 in the shaded jar.
[INFO] Including org.glassfish.jersey.core:jersey-common:jar:2.29.1 in the shaded jar.
[INFO] Including org.glassfish.hk2:osgi-resource-locator:jar:1.0.3 in the shaded jar.
[INFO] Including jakarta.ws.rs:jakarta.ws.rs-api:jar:2.1.6 in the shaded jar.
[INFO] Including org.glassfish.jersey.media:jersey-media-jaxb:jar:2.29.1 in the shaded jar.
[INFO] Including jakarta.annotation:jakarta.annotation-api:jar:1.3.5 in the shaded jar.
[INFO] Including org.glassfish.hk2.external:jakarta.inject:jar:2.6.1 in the shaded jar.
[INFO] Including org.glassfish.jersey.ext:jersey-metainf-services:jar:2.29.1 in the shaded jar.
[INFO] Including org.glassfish.jersey.ext:jersey-bean-validation:jar:2.29.1 in the shaded jar.
[INFO] Including org.glassfish.jersey.inject:jersey-hk2:jar:2.29.1 in the shaded jar.
[INFO] Including org.glassfish.hk2:hk2-locator:jar:2.6.1 in the shaded jar.
[INFO] Including org.glassfish.hk2.external:aopalliance-repackaged:jar:2.6.1 in the shaded jar.
[INFO] Including org.glassfish.hk2:hk2-api:jar:2.6.1 in the shaded jar.
[INFO] Including org.glassfish.hk2:hk2-utils:jar:2.6.1 in the shaded jar.
[INFO] Including io.dropwizard.metrics:metrics-jersey2:jar:4.1.2 in the shaded jar.
[INFO] Including com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:2.10.1 in the shaded jar.
[INFO] Including com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:jar:2.10.1 in the shaded jar.
[INFO] Including com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.10.1 in the shaded jar.
[INFO] Including jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.2 in the shaded jar.
[INFO] Including jakarta.activation:jakarta.activation-api:jar:1.2.1 in the shaded jar.
[INFO] Including org.glassfish.jersey.containers:jersey-container-servlet:jar:2.29.1 in the shaded jar.
[INFO] Including org.glassfish.jersey.containers:jersey-container-servlet-core:jar:2.29.1 in the shaded jar.
[INFO] Including org.eclipse.jetty:jetty-server:jar:9.4.24.v20191120 in the shaded jar.
[INFO] Including javax.servlet:javax.servlet-api:jar:3.1.0 in the shaded jar.
[INFO] Including org.eclipse.jetty:jetty-io:jar:9.4.24.v20191120 in the shaded jar.
[INFO] Including org.eclipse.jetty:jetty-webapp:jar:9.4.24.v20191120 in the shaded jar.
[INFO] Including org.eclipse.jetty:jetty-xml:jar:9.4.24.v20191120 in the shaded jar.
[INFO] Including org.eclipse.jetty:jetty-continuation:jar:9.4.24.v20191120 in the shaded jar.
[INFO] Including javax.xml.bind:jaxb-api:jar:2.3.1 in the shaded jar.
[INFO] Including javax.activation:javax.activation-api:jar:1.2.0 in the shaded jar.
[INFO] Including io.dropwizard:dropwizard-servlets:jar:2.0.0 in the shaded jar.
[INFO] Including io.dropwizard.metrics:metrics-annotation:jar:4.1.2 in the shaded jar.
[INFO] Including io.dropwizard:dropwizard-jetty:jar:2.0.0 in the shaded jar.
[INFO] Including io.dropwizard.metrics:metrics-jetty9:jar:4.1.2 in the shaded jar.
[INFO] Including org.eclipse.jetty:jetty-servlet:jar:9.4.24.v20191120 in the shaded jar.
[INFO] Including org.eclipse.jetty:jetty-security:jar:9.4.24.v20191120 in the shaded jar.
[INFO] Including org.eclipse.jetty:jetty-servlets:jar:9.4.24.v20191120 in the shaded jar.
[INFO] Including org.eclipse.jetty:jetty-http:jar:9.4.24.v20191120 in the shaded jar.
[INFO] Including io.dropwizard:dropwizard-lifecycle:jar:2.0.0 in the shaded jar.
[INFO] Including io.dropwizard.metrics:metrics-core:jar:4.1.2 in the shaded jar.
[INFO] Including io.dropwizard.metrics:metrics-jvm:jar:4.1.2 in the shaded jar.
[INFO] Including io.dropwizard.metrics:metrics-jmx:jar:4.1.2 in the shaded jar.
[INFO] Including io.dropwizard.metrics:metrics-servlets:jar:4.1.2 in the shaded jar.
[INFO] Including io.dropwizard.metrics:metrics-json:jar:4.1.2 in the shaded jar.
[INFO] Including com.helger:profiler:jar:1.1.1 in the shaded jar.
[INFO] Including io.dropwizard.metrics:metrics-healthchecks:jar:4.1.2 in the shaded jar.
[INFO] Including io.dropwizard:dropwizard-request-logging:jar:2.0.0 in the shaded jar.
[INFO] Including ch.qos.logback:logback-access:jar:1.2.3 in the shaded jar.
[INFO] Including net.sourceforge.argparse4j:argparse4j:jar:0.8.1 in the shaded jar.
[INFO] Including org.eclipse.jetty.toolchain.setuid:jetty-setuid-java:jar:1.0.3 in the shaded jar.
[INFO] Including io.dropwizard:dropwizard-json-logging:jar:2.0.0 in the shaded jar.
[INFO] Including org.glassfish.jersey.core:jersey-client:jar:2.29.1 in the shaded jar.
[INFO] Including io.dropwizard:dropwizard-jdbi3:jar:2.0.0 in the shaded jar.
[INFO] Including io.dropwizard:dropwizard-db:jar:2.0.0 in the shaded jar.
[INFO] Including org.apache.tomcat:tomcat-jdbc:jar:9.0.29 in the shaded jar.
[INFO] Including org.apache.tomcat:tomcat-juli:jar:9.0.29 in the shaded jar.
[INFO] Including org.jdbi:jdbi3-core:jar:3.11.1 in the shaded jar.
[INFO] Including org.antlr:antlr4-runtime:jar:4.7.2 in the shaded jar.
[INFO] Including io.leangen.geantyref:geantyref:jar:1.3.7 in the shaded jar.
[INFO] Including org.jdbi:jdbi3-sqlobject:jar:3.11.1 in the shaded jar.
[INFO] Including org.jdbi:jdbi3-jodatime2:jar:3.11.1 in the shaded jar.
[INFO] Including org.jdbi:jdbi3-guava:jar:3.11.1 in the shaded jar.
[INFO] Including io.dropwizard.metrics:metrics-jdbi3:jar:4.1.2 in the shaded jar.
[INFO] Including io.dropwizard:dropwizard-auth:jar:2.0.0 in the shaded jar.
[INFO] Including com.github.ben-manes.caffeine:caffeine:jar:2.8.0 in the shaded jar.
[INFO] Including org.checkerframework:checker-qual:jar:2.10.0 in the shaded jar.
[INFO] Including com.google.errorprone:error_prone_annotations:jar:2.3.3 in the shaded jar.
[INFO] Including org.postgresql:postgresql:jar:42.2.6 in the shaded jar.
[INFO] Including org.slf4j:slf4j-api:jar:1.7.25 in the shaded jar.
[INFO] Including org.apache.commons:commons-lang3:jar:3.7 in the shaded jar.
[INFO] Including commons-io:commons-io:jar:2.6 in the shaded jar.
[INFO] Including commons-codec:commons-codec:jar:1.11 in the shaded jar.
[INFO] Including org.slf4j:jcl-over-slf4j:jar:1.7.25 in the shaded jar.
[INFO] Including org.flywaydb:flyway-maven-plugin:jar:5.2.4 in the shaded jar.
[INFO] Including org.apache.maven:maven-plugin-api:jar:3.0 in the shaded jar.
[INFO] Including org.sonatype.sisu:sisu-inject-plexus:jar:1.4.2 in the shaded jar.
[INFO] Including org.sonatype.sisu:sisu-inject-bean:jar:1.4.2 in the shaded jar.
[INFO] Including org.sonatype.sisu:sisu-guice:jar:noaop:2.1.7 in the shaded jar.
[INFO] Including org.apache.maven:maven-artifact:jar:3.0 in the shaded jar.
[INFO] Including org.apache.maven:maven-model:jar:3.0 in the shaded jar.
[INFO] Including org.apache.maven:maven-core:jar:3.0 in the shaded jar.
[INFO] Including org.apache.maven:maven-settings:jar:3.0 in the shaded jar.
[INFO] Including org.apache.maven:maven-settings-builder:jar:3.0 in the shaded jar.
[INFO] Including org.apache.maven:maven-repository-metadata:jar:3.0 in the shaded jar.
[INFO] Including org.apache.maven:maven-model-builder:jar:3.0 in the shaded jar.
[INFO] Including org.apache.maven:maven-aether-provider:jar:3.0 in the shaded jar.
[INFO] Including org.sonatype.aether:aether-impl:jar:1.7 in the shaded jar.
[INFO] Including org.sonatype.aether:aether-spi:jar:1.7 in the shaded jar.
[INFO] Including org.sonatype.aether:aether-api:jar:1.7 in the shaded jar.
[INFO] Including org.sonatype.aether:aether-util:jar:1.7 in the shaded jar.
[INFO] Including org.codehaus.plexus:plexus-interpolation:jar:1.14 in the shaded jar.
[INFO] Including org.codehaus.plexus:plexus-classworlds:jar:2.2.3 in the shaded jar.
[INFO] Including org.codehaus.plexus:plexus-component-annotations:jar:1.5.5 in the shaded jar.
[INFO] Including org.sonatype.plexus:plexus-sec-dispatcher:jar:1.4 in the shaded jar.
[INFO] Including org.sonatype.plexus:plexus-cipher:jar:1.4 in the shaded jar.
[INFO] Including org.codehaus.plexus:plexus-utils:jar:1.5.15 in the shaded jar.
[INFO] Including org.flywaydb:flyway-core:jar:5.2.4 in the shaded jar.
[INFO] Including org.dataone:d1_libclient_java:jar:2.3.1 in the shaded jar.
[INFO] Including net.sf.jsignature.io-tools:easystream:jar:1.2.12 in the shaded jar.
[INFO] Including commons-collections:commons-collections:jar:3.2.1 in the shaded jar.
[INFO] Including javax.mail:mail:jar:1.4.1 in the shaded jar.
[INFO] Including javax.activation:activation:jar:1.1 in the shaded jar.
[INFO] Including org.jibx:jibx-run:jar:1.2.4.5 in the shaded jar.
[INFO] Including xpp3:xpp3:jar:1.1.3.4.O in the shaded jar.
[INFO] Including org.bouncycastle:bcpkix-jdk15on:jar:1.52 in the shaded jar.
[INFO] Including org.bouncycastle:bcprov-jdk15on:jar:1.52 in the shaded jar.
[INFO] Including commons-lang:commons-lang:jar:2.6 in the shaded jar.
[INFO] Including org.dataone:d1_common_java:jar:2.3.0 in the shaded jar.
[INFO] Including log4j:log4j:jar:1.2.17 in the shaded jar.
[INFO] Including org.apache.maven.plugins:maven-jar-plugin:maven-plugin:2.3.1 in the shaded jar.
[INFO] Including org.apache.maven:maven-project:jar:2.0.6 in the shaded jar.
[INFO] Including org.apache.maven:maven-profile:jar:2.0.6 in the shaded jar.
[INFO] Including org.apache.maven:maven-artifact-manager:jar:2.0.6 in the shaded jar.
[INFO] Including org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 in the shaded jar.
[INFO] Including org.apache.maven:maven-plugin-registry:jar:2.0.6 in the shaded jar.
[INFO] Including org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 in the shaded jar.
[INFO] Including classworlds:classworlds:jar:1.1-alpha-2 in the shaded jar.
[INFO] Including org.apache.maven:maven-archiver:jar:2.4.1 in the shaded jar.
[INFO] Including org.codehaus.plexus:plexus-archiver:jar:1.0 in the shaded jar.
[INFO] Including org.codehaus.plexus:plexus-io:jar:1.0 in the shaded jar.
[INFO] Including org.apache.maven.plugins:maven-clean-plugin:maven-plugin:2.4.1 in the shaded jar.
[INFO] Including commons-fileupload:commons-fileupload:jar:1.3.1 in the shaded jar.
[INFO] Including org.apache.httpcomponents:httpmime:jar:4.3.3 in the shaded jar.
[INFO] Including org.apache.commons:commons-collections4:jar:4.0 in the shaded jar.
[INFO] Including commons-configuration:commons-configuration:jar:1.7 in the shaded jar.
[INFO] Including commons-digester:commons-digester:jar:1.8.1 in the shaded jar.
[INFO] Including commons-beanutils:commons-beanutils:jar:1.9.2 in the shaded jar.
[INFO] Including org.apache.httpcomponents:httpclient:jar:4.3.6 in the shaded jar.
[INFO] Including org.apache.httpcomponents:httpcore:jar:4.3.3 in the shaded jar.
[INFO] Including commons-logging:commons-logging:jar:1.1.3 in the shaded jar.
[INFO] Including org.apache.httpcomponents:httpclient-cache:jar:4.3.6 in the shaded jar.
[INFO] Including com.googlecode.foresite-toolkit:foresite:jar:1.0-SNAPSHOT in the shaded jar.
[INFO] Including com.hp.hpl.jena:jena:jar:2.5.5 in the shaded jar.
[INFO] Including com.hp.hpl.jena:arq:jar:2.2 in the shaded jar.
[INFO] Including org.apache.lucene:lucene-core:jar:2.2.0 in the shaded jar.
[INFO] Including com.hp.hpl.jena:arq-extra:jar:2.2 in the shaded jar.
[INFO] Including com.hp.hpl.jena:jenatest:jar:2.5.5 in the shaded jar.
[INFO] Including com.hp.hpl.jena:iri:jar:0.5 in the shaded jar.
[INFO] Including antlr:antlr:jar:2.7.5 in the shaded jar.
[INFO] Including com.hp.hpl.jena:concurrent-jena:jar:1.3.2 in the shaded jar.
[INFO] Including com.ibm.icu:icu4j:jar:3.4.4 in the shaded jar.
[INFO] Including com.hp.hpl.jena:json-jena:jar:1.0 in the shaded jar.
[INFO] Including stax:stax-api:jar:1.0 in the shaded jar.
[INFO] Including org.codehaus.woodstox:wstx-asl:jar:3.0.0 in the shaded jar.
[INFO] Including xerces:xercesImpl:jar:2.7.1 in the shaded jar.
[INFO] Including xerces:xmlParserAPIs:jar:2.0.2 in the shaded jar.
[INFO] Including rome:rome:jar:0.9 in the shaded jar.
[INFO] Including jdom:jdom:jar:1.0 in the shaded jar.
[INFO] Including xalan:xalan:jar:2.7.0 in the shaded jar.
[INFO] Including xml-apis:xml-apis:jar:1.0.b2 in the shaded jar.
[INFO] Including commons-cli:commons-cli:jar:1.0 in the shaded jar.
[INFO] Including junit:junit:jar:4.12 in the shaded jar.
[INFO] Including org.hamcrest:hamcrest-core:jar:1.3 in the shaded jar.
[INFO] Including com.nimbusds:nimbus-jose-jwt:jar:7.9 in the shaded jar.
[INFO] Including com.github.stephenc.jcip:jcip-annotations:jar:1.0-1 in the shaded jar.
[INFO] Including net.minidev:json-smart:jar:2.3 in the shaded jar.
[INFO] Including net.minidev:accessors-smart:jar:1.2 in the shaded jar.
[INFO] Including org.ow2.asm:asm:jar:5.0.4 in the shaded jar.
[WARNING] Discovered module-info.class. Shading will break its strong encapsulation.
[WARNING] Discovered module-info.class. Shading will break its strong encapsulation.
[WARNING] Discovered module-info.class. Shading will break its strong encapsulation.
[WARNING] Discovered module-info.class. Shading will break its strong encapsulation.
[WARNING] Discovered module-info.class. Shading will break its strong encapsulation.
[WARNING] Discovered module-info.class. Shading will break its strong encapsulation.
[WARNING] Discovered module-info.class. Shading will break its strong encapsulation.
[WARNING] Discovered module-info.class. Shading will break its strong encapsulation.
[WARNING] Discovered module-info.class. Shading will break its strong encapsulation.
[WARNING] Discovered module-info.class. Shading will break its strong encapsulation.
[WARNING] Discovered module-info.class. Shading will break its strong encapsulation.
[WARNING] Discovered module-info.class. Shading will break its strong encapsulation.
[WARNING] Discovered module-info.class. Shading will break its strong encapsulation.
[WARNING] Discovered module-info.class. Shading will break its strong encapsulation.
[WARNING] Discovered module-info.class. Shading will break its strong encapsulation.
[WARNING] Discovered module-info.class. Shading will break its strong encapsulation.
[WARNING] xercesImpl-2.7.1.jar, xmlParserAPIs-2.0.2.jar define 1 overlapping classes: 
[WARNING]   - org.w3c.dom.html.HTMLDOMImplementation
[WARNING] maven-project-2.0.6.jar, maven-core-3.0.jar define 12 overlapping classes: 
[WARNING]   - org.apache.maven.project.ProjectSorter
[WARNING]   - org.apache.maven.project.DefaultMavenProjectHelper
[WARNING]   - org.apache.maven.project.artifact.AttachedArtifact
[WARNING]   - org.apache.maven.project.artifact.ActiveProjectArtifact
[WARNING]   - org.apache.maven.project.MavenProject
[WARNING]   - org.apache.maven.project.path.PathTranslator
[WARNING]   - org.apache.maven.project.ProjectBuildingException
[WARNING]   - org.apache.maven.project.MavenProjectHelper
[WARNING]   - org.apache.maven.project.artifact.InvalidDependencyVersionException
[WARNING]   - org.apache.maven.project.artifact.ProjectArtifactMetadata
[WARNING]   - 2 more...
[WARNING] jakarta.inject-2.6.1.jar, sisu-inject-bean-1.4.2.jar define 6 overlapping classes: 
[WARNING]   - javax.inject.Inject
[WARNING]   - javax.inject.Singleton
[WARNING]   - javax.inject.Scope
[WARNING]   - javax.inject.Named
[WARNING]   - javax.inject.Provider
[WARNING]   - javax.inject.Qualifier
[WARNING] sisu-inject-plexus-1.4.2.jar, plexus-container-default-1.0-alpha-9-stable-1.jar define 78 overlapping classes: 
[WARNING]   - org.codehaus.plexus.component.configurator.MapOrientedComponentConfigurator
[WARNING]   - org.codehaus.plexus.configuration.PlexusConfigurationException
[WARNING]   - org.codehaus.plexus.component.configurator.ComponentConfigurator
[WARNING]   - org.codehaus.plexus.component.repository.ComponentRequirement
[WARNING]   - org.codehaus.plexus.component.configurator.converters.ComponentValueSetter
[WARNING]   - org.codehaus.plexus.component.factory.AbstractComponentFactory
[WARNING]   - org.codehaus.plexus.PlexusTestCase
[WARNING]   - org.codehaus.plexus.logging.Logger
[WARNING]   - org.codehaus.plexus.component.configurator.BasicComponentConfigurator
[WARNING]   - org.codehaus.plexus.personality.plexus.lifecycle.phase.StartingException
[WARNING]   - 68 more...
[WARNING] aopalliance-repackaged-2.6.1.jar, sisu-inject-bean-1.4.2.jar define 9 overlapping classes: 
[WARNING]   - org.aopalliance.intercept.ConstructorInterceptor
[WARNING]   - org.aopalliance.intercept.MethodInvocation
[WARNING]   - org.aopalliance.intercept.MethodInterceptor
[WARNING]   - org.aopalliance.intercept.Invocation
[WARNING]   - org.aopalliance.aop.AspectException
[WARNING]   - org.aopalliance.intercept.Interceptor
[WARNING]   - org.aopalliance.intercept.Joinpoint
[WARNING]   - org.aopalliance.aop.Advice
[WARNING]   - org.aopalliance.intercept.ConstructorInvocation
[WARNING] log4j-1.2.17.jar, log4j-over-slf4j-1.7.29.jar define 29 overlapping classes: 
[WARNING]   - org.apache.log4j.spi.OptionHandler
[WARNING]   - org.apache.log4j.spi.LoggerRepository
[WARNING]   - org.apache.log4j.NDC
[WARNING]   - org.apache.log4j.PatternLayout
[WARNING]   - org.apache.log4j.LogManager
[WARNING]   - org.apache.log4j.BasicConfigurator
[WARNING]   - org.apache.log4j.spi.ErrorHandler
[WARNING]   - org.apache.log4j.MDC
[WARNING]   - org.apache.log4j.AppenderSkeleton
[WARNING]   - org.apache.log4j.WriterAppender
[WARNING]   - 19 more...
[WARNING] xmlParserAPIs-2.0.2.jar, xml-apis-1.0.b2.jar define 127 overlapping classes: 
[WARNING]   - org.xml.sax.helpers.NamespaceSupport$Context
[WARNING]   - org.xml.sax.InputSource
[WARNING]   - org.w3c.dom.html.HTMLLinkElement
[WARNING]   - org.xml.sax.ext.LexicalHandler
[WARNING]   - org.w3c.dom.ProcessingInstruction
[WARNING]   - org.w3c.dom.NamedNodeMap
[WARNING]   - org.w3c.dom.html.HTMLBodyElement
[WARNING]   - org.w3c.dom.Entity
[WARNING]   - org.xml.sax.ErrorHandler
[WARNING]   - org.w3c.dom.html.HTMLMetaElement
[WARNING]   - 117 more...
[WARNING] jcl-over-slf4j-1.7.25.jar, commons-logging-1.1.3.jar define 6 overlapping classes: 
[WARNING]   - org.apache.commons.logging.impl.SimpleLog$1
[WARNING]   - org.apache.commons.logging.Log
[WARNING]   - org.apache.commons.logging.impl.SimpleLog
[WARNING]   - org.apache.commons.logging.LogConfigurationException
[WARNING]   - org.apache.commons.logging.impl.NoOpLog
[WARNING]   - org.apache.commons.logging.LogFactory
[WARNING] classworlds-1.1-alpha-2.jar, plexus-classworlds-2.2.3.jar define 11 overlapping classes: 
[WARNING]   - org.codehaus.classworlds.DefaultClassRealm
[WARNING]   - org.codehaus.classworlds.BytesURLStreamHandler
[WARNING]   - org.codehaus.classworlds.BytesURLConnection
[WARNING]   - org.codehaus.classworlds.Launcher
[WARNING]   - org.codehaus.classworlds.NoSuchRealmException
[WARNING]   - org.codehaus.classworlds.DuplicateRealmException
[WARNING]   - org.codehaus.classworlds.ClassRealm
[WARNING]   - org.codehaus.classworlds.ClassWorld
[WARNING]   - org.codehaus.classworlds.ClassWorldException
[WARNING]   - org.codehaus.classworlds.ConfigurationException
[WARNING]   - 1 more...
[WARNING] maven-artifact-manager-2.0.6.jar, maven-core-3.0.jar define 4 overlapping classes: 
[WARNING]   - org.apache.maven.artifact.repository.metadata.AbstractRepositoryMetadata
[WARNING]   - org.apache.maven.artifact.repository.metadata.ArtifactRepositoryMetadata
[WARNING]   - org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager
[WARNING]   - org.apache.maven.artifact.repository.metadata.RepositoryMetadata
[WARNING] jakarta.activation-api-1.2.1.jar, activation-1.1.jar, javax.activation-api-1.2.0.jar define 27 overlapping classes: 
[WARNING]   - javax.activation.ObjectDataContentHandler
[WARNING]   - javax.activation.DataContentHandlerFactory
[WARNING]   - javax.activation.DataContentHandler
[WARNING]   - javax.activation.CommandObject
[WARNING]   - javax.activation.SecuritySupport$2
[WARNING]   - javax.activation.FileTypeMap
[WARNING]   - javax.activation.CommandInfo
[WARNING]   - javax.activation.MailcapCommandMap
[WARNING]   - javax.activation.DataHandler$1
[WARNING]   - javax.activation.UnsupportedDataTypeException
[WARNING]   - 17 more...
[WARNING] jakarta.xml.bind-api-2.3.2.jar, jaxb-api-2.3.1.jar define 111 overlapping classes: 
[WARNING]   - javax.xml.bind.annotation.XmlValue
[WARNING]   - javax.xml.bind.annotation.XmlElement
[WARNING]   - javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter
[WARNING]   - javax.xml.bind.ContextFinder
[WARNING]   - javax.xml.bind.ContextFinder$3
[WARNING]   - javax.xml.bind.annotation.XmlElementRefs
[WARNING]   - javax.xml.bind.helpers.DefaultValidationEventHandler
[WARNING]   - javax.xml.bind.ParseConversionEvent
[WARNING]   - javax.xml.bind.annotation.XmlSchema
[WARNING]   - javax.xml.bind.ValidationException
[WARNING]   - 101 more...
[WARNING] xpp3-1.1.3.4.O.jar, stax-api-1.0.jar define 1 overlapping classes: 
[WARNING]   - javax.xml.namespace.QName
[WARNING] jakarta.activation-api-1.2.1.jar, javax.activation-api-1.2.0.jar define 4 overlapping classes: 
[WARNING]   - javax.activation.CommandInfo$Beans$1
[WARNING]   - javax.activation.MailcapCommandMap$1
[WARNING]   - javax.activation.CommandInfo$Beans
[WARNING]   - javax.activation.MimetypesFileTypeMap$1
[WARNING] maven-shade-plugin has detected that some class files are
[WARNING] present in two or more JARs. When this happens, only one
[WARNING] single version of the class is copied to the uber jar.
[WARNING] Usually this is not harmful and you can skip these warnings,
[WARNING] otherwise try to manually exclude artifacts based on
[WARNING] mvn dependency:tree -Ddetail=true and the above output.
[WARNING] See http://maven.apache.org/plugins/maven-shade-plugin/
[INFO] Replacing original artifact with shaded artifact.
[INFO] Replacing /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/bookkeeper-0.1.0-SNAPSHOT.jar with /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/bookkeeper-0.1.0-SNAPSHOT-shaded.jar
[INFO] Dependency-reduced POM written at: /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/dependency-reduced-pom.xml
[INFO] 
[INFO] --- maven-install-plugin:3.0.0-M1:install (default-install) @ bookkeeper ---
[INFO] Installing /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/bookkeeper-0.1.0-SNAPSHOT.jar to /var/lib/jenkins/.m2/repository/org/dataone/bookkeeper/0.1.0-SNAPSHOT/bookkeeper-0.1.0-SNAPSHOT.jar
[INFO] Installing /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/dependency-reduced-pom.xml to /var/lib/jenkins/.m2/repository/org/dataone/bookkeeper/0.1.0-SNAPSHOT/bookkeeper-0.1.0-SNAPSHOT.pom
[INFO] 
[INFO] --- maven-install-plugin:3.0.0-M1:install-file (default) @ bookkeeper ---
[INFO] Installing /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/target/original-bookkeeper-0.1.0-SNAPSHOT.jar to /var/lib/jenkins/.m2/repository/org/dataone/bookkeeper-client/0.1.0-SNAPSHOT/bookkeeper-client-0.1.0-SNAPSHOT.jar
[INFO] Installing /var/lib/jenkins/jobs/bookkeeper-unstable/workspace/pom.xml to /var/lib/jenkins/.m2/repository/org/dataone/bookkeeper-client/0.1.0-SNAPSHOT/bookkeeper-client-0.1.0-SNAPSHOT.pom
[INFO] 
[INFO] --- maven-deploy-plugin:3.0.0-M1:deploy (default-deploy) @ bookkeeper ---
[INFO] Downloading from jenkins.dataone.org: file:///var/www/maven/org/dataone/bookkeeper/0.1.0-SNAPSHOT/maven-metadata.xml
[INFO] Downloaded from jenkins.dataone.org: file:///var/www/maven/org/dataone/bookkeeper/0.1.0-SNAPSHOT/maven-metadata.xml (774 B at 387 kB/s)
[INFO] Uploading to jenkins.dataone.org: file:///var/www/maven/org/dataone/bookkeeper/0.1.0-SNAPSHOT/bookkeeper-0.1.0-20201028.185427-24.jar
[INFO] Uploaded to jenkins.dataone.org: file:///var/www/maven/org/dataone/bookkeeper/0.1.0-SNAPSHOT/bookkeeper-0.1.0-20201028.185427-24.jar (49 MB at 119 MB/s)
[INFO] Uploading to jenkins.dataone.org: file:///var/www/maven/org/dataone/bookkeeper/0.1.0-SNAPSHOT/bookkeeper-0.1.0-20201028.185427-24.pom
[INFO] Uploaded to jenkins.dataone.org: file:///var/www/maven/org/dataone/bookkeeper/0.1.0-SNAPSHOT/bookkeeper-0.1.0-20201028.185427-24.pom (11 kB at 11 MB/s)
[INFO] Downloading from jenkins.dataone.org: file:///var/www/maven/org/dataone/bookkeeper/maven-metadata.xml
[INFO] Downloaded from jenkins.dataone.org: file:///var/www/maven/org/dataone/bookkeeper/maven-metadata.xml (319 B at 32 kB/s)
[INFO] Uploading to jenkins.dataone.org: file:///var/www/maven/org/dataone/bookkeeper/0.1.0-SNAPSHOT/maven-metadata.xml
[INFO] Uploaded to jenkins.dataone.org: file:///var/www/maven/org/dataone/bookkeeper/0.1.0-SNAPSHOT/maven-metadata.xml (774 B)
[INFO] Uploading to jenkins.dataone.org: file:///var/www/maven/org/dataone/bookkeeper/maven-metadata.xml
[INFO] Uploaded to jenkins.dataone.org: file:///var/www/maven/org/dataone/bookkeeper/maven-metadata.xml (319 B at 319 kB/s)
[INFO] 
[INFO] --- maven-deploy-plugin:3.0.0-M1:deploy-file (deploy-file) @ bookkeeper ---
[INFO] Downloading from jenkins.dataone.org: file:///var/www/maven/org/dataone/bookkeeper-client/0.1.0-SNAPSHOT/maven-metadata.xml
[INFO] Downloaded from jenkins.dataone.org: file:///var/www/maven/org/dataone/bookkeeper-client/0.1.0-SNAPSHOT/maven-metadata.xml (781 B at 781 kB/s)
[INFO] Uploading to jenkins.dataone.org: file:///var/www/maven/org/dataone/bookkeeper-client/0.1.0-SNAPSHOT/bookkeeper-client-0.1.0-20201028.185427-24.jar
[INFO] Uploaded to jenkins.dataone.org: file:///var/www/maven/org/dataone/bookkeeper-client/0.1.0-SNAPSHOT/bookkeeper-client-0.1.0-20201028.185427-24.jar (91 kB at 91 MB/s)
[INFO] Uploading to jenkins.dataone.org: file:///var/www/maven/org/dataone/bookkeeper-client/0.1.0-SNAPSHOT/bookkeeper-client-0.1.0-20201028.185427-24.pom
[INFO] Uploaded to jenkins.dataone.org: file:///var/www/maven/org/dataone/bookkeeper-client/0.1.0-SNAPSHOT/bookkeeper-client-0.1.0-20201028.185427-24.pom (13 kB at 13 MB/s)
[INFO] Downloading from jenkins.dataone.org: file:///var/www/maven/org/dataone/bookkeeper-client/maven-metadata.xml
[INFO] Downloaded from jenkins.dataone.org: file:///var/www/maven/org/dataone/bookkeeper-client/maven-metadata.xml (326 B at 326 kB/s)
[INFO] Uploading to jenkins.dataone.org: file:///var/www/maven/org/dataone/bookkeeper-client/0.1.0-SNAPSHOT/maven-metadata.xml
[INFO] Uploaded to jenkins.dataone.org: file:///var/www/maven/org/dataone/bookkeeper-client/0.1.0-SNAPSHOT/maven-metadata.xml (781 B)
[INFO] Uploading to jenkins.dataone.org: file:///var/www/maven/org/dataone/bookkeeper-client/maven-metadata.xml
[INFO] Uploaded to jenkins.dataone.org: file:///var/www/maven/org/dataone/bookkeeper-client/maven-metadata.xml (326 B at 326 kB/s)
Notifying upstream projects of job completion
Join notifier requires a CauseAction
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  34.917 s
[INFO] Finished at: 2020-10-28T18:54:28Z
[INFO] ------------------------------------------------------------------------
Waiting for Jenkins to finish collecting data