= Core Persistence Schema
:page-role: -toc -narrow


:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR  CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

include::../section-hooks/causeway.persistence.schema~pre.adoc[]

[cols="3a,2a,5a", options="header"]
|===
|Property
|Default
|Description
|
[[causeway.persistence.schema.additional-orm-files]]
causeway.persistence.schema. +
additional-orm-files

| 
| Does lookup additional "mapping-files" in META-INF/orm-_name_.xml (equivalent to "mapping-file" entries in persistence.xml) and adds these to those that are already configured the _Spring Data_ way (if any). NOTE: not implemented for JDO


|
[[causeway.persistence.schema.auto-create-schemas]]
causeway.persistence.schema. +
auto-create-schemas

| 
| List of additional schemas to be auto-created.

Explicitly creates given list of schemas by using the specified ``#getCreateSchemaSqlTemplate()`` to generate the actual SQL statement against the configured data-source.

This configuration mechanism does not consider any schema-auto-creation configuration (if any), that independently is provided the standard JPA way.


|
[[causeway.persistence.schema.create-schema-sql-template]]
causeway.persistence.schema. +
create-schema-sql-template

|  CREATE SCHEMA IF NOT EXISTS %S
| Vendor specific SQL syntax to create a DB schema.

This template is passed through ``String#format(String, Object...)`` to make the actual SQL statement thats to be used against the configured data-source.

Default template is \{@literal CREATE SCHEMA IF NOT EXISTS %S} with the schema name converted to upper-case.

For MYSQL/MARIADB use escape like \{@code `%S`}



|===

include::../section-hooks/causeway.persistence.schema~post.adoc[]
