---
name: "SQL::Translator::Schema::Object"
section: "3pm"
platform: "linux"
package: "libsql-translator-perl"
version: "1.66-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SQL::Translator::Schema::Object"
---

# SQL::Translator::Schema::Object(3pm)

Base class for SQL::Translator schema objects

## NAME

SQL::Translator::Schema::Object - Base class for SQL::Translator schema objects

## SYNOPSIS

```
    package SQL::Translator::Schema::Foo;
    use Moo;
    extends 'SQL::Translator::Schema::Object';
```

## DESCRIPTION

Base class for Schema objects. A Moo class consuming the following roles.

- SQL::Translator::Role::Error

  Provides `"$obj->error"`, similar to Class::Base.

- SQL::Translator::Role::BuildArgs

  Removes undefined constructor arguments, for backwards compatibility.

- SQL::Translator::Schema::Role::Extra

  Provides an `"extra"` attribute storing a hashref of arbitrary data.

- SQL::Translator::Schema::Role::Compare

  Provides an `"$obj->equals($other)"` method for testing object equality.
